
brute force
D0zingbear
这是一个刚入坑OI的萌新
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[ZOJ 2617/UVALive 3488] Edison
UVALive 3488 题解: 性质:对于连续的R次同样的操作,可以变成一次操作。 解法一:对原序列分块,然后暴力操作即可。时间复杂度O(SC−−√)O(SC)O(S \sqrt C ) 解法二:使用平衡树维护序列。 时间复杂度O(Slogn+n)O(Slogn+n)O(Slogn+n) 解法三:暴力维护当前序列的区间状态,每次操作沿左右端点将区间切开。时间复杂度O(S2)O(S2)O...原创 2018-07-29 22:02:00 · 226 阅读 · 0 评论 -
[Topcoder SRM403 Division I Level Three] TheLuckySum
Topcoder SRM403 Division I Level Three 题解: 错误的解法: dpdpdp预处理n≤106n≤106n \leq 10^6的答案,然后迭代加深爆搜,发现无论怎么加优化都会T掉。 正确的解法: 按位搜索,枚举每一位上有几个4和几个7,然后在确定了每一位上4和7的个数后,当前的最优解可以直接O(92)O(92)O(9^2)求得。加上一些可行性剪枝即可轻...原创 2018-07-29 22:51:07 · 488 阅读 · 0 评论 -
[HDU 6331]Walking Plan
HDU 6331 题解 #include<bits/stdc++.h> #define LL long long #define ull unsigned long long #define ULL ull #define mp make_pair #define pii pair<int,int> #define piii pair<int, pii > ...原创 2018-07-30 20:10:01 · 445 阅读 · 0 评论 -
[Topcoder SRM 589 Division I, Level Three]FlippingBitsDiv1
传送门 题解: 分块暴力即可. 对于m小于n−−√n\sqrt n暴力枚举循环串然后dpdpdp. 对于m大于n−−√n\sqrt n暴力枚举每个循环串是否翻转即可。 时间复杂度:O(2n√n)O(2nn)O(2^{\sqrt n}n) 代码: #include<bits/stdc++.h> #define LL long long #define ull unsign...原创 2018-08-09 19:23:31 · 493 阅读 · 0 评论 -
[Codeforces 981G]Magic multisets
981G 题解: 使用set维护对于每个数,有哪些区间的集合含有这个数。 然后每次询问暴力的修改每个区间,使用线段树维护即可。 #include<bits/stdc++.h> #define LL long long #define ull unsigned long long #define ULL ull #define mp make_pair #define pii p...原创 2018-08-12 13:55:37 · 314 阅读 · 0 评论