BZOJ
GoneWithTheWind_yin
山科大学生
展开
-
中位数图 BZOJ - 1303
题目传送门思路:这个题我们先预先处理一个sum数组表示这个数字的左边有多少个大于m的数字减去小于m的数字的个数,然后我们在预处理一个数组表示,有多少个在数字m的左边有多少个值为sum[i]的个数,然后就可以在一个O(N)的时间复杂度进行计算了。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#inc原创 2017-10-17 18:34:47 · 411 阅读 · 0 评论 -
旅行comf BZOJ - 1050
题目传送门思路:这个题先把所有的边从小到大排序,然后枚举起点,然后就可以用Kruskal来加边,直到s和t联通,这样求出来最小的比值。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <list>#include <map>#include原创 2017-10-17 10:40:37 · 285 阅读 · 0 评论 -
绝世好题 BZOJ - 4300
题目传送门思路:这个题如果用O(N^2)的算法的话会超时,所以我们可以对每一个数字的每一位数字进行操作,这样可以在O(N*logN)的时间复杂度中完成。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <list>#include <map>原创 2017-10-16 19:39:41 · 368 阅读 · 0 评论 -
能量采集 BZOJ - 2005
题目传送门思路:这个题目可以用容斥来做 我们令f[x]为gcd(i, j) = x的个数 令g[x]为i, j因子为x的个数(n / x) * (m / x) 我们再把其中最大公约数不是x的减掉就是要求的答案了#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream原创 2017-10-16 16:26:54 · 358 阅读 · 0 评论 -
完全平方数 BZOJ - 2440
题目传送门思路:这个题要求的是第K个非完全平方数且没有完全平方数因子的数,我们可以将这个问题转换为求这个区间的所有完全平方数且没有完全平方数因子的数的数量,这样就可以通过二分的方法来求解,具体的数量的可以通过容斥原理来求得,而此时可以用到莫比乌斯函数来做为系数。#include <algorithm>#include <cmath>#include <cstdio>#include <cstr原创 2017-10-16 09:25:16 · 484 阅读 · 0 评论 -
游戏 BZOJ - 1854
题目传送门思路:一个二分图最大匹配问题,但是这个题emmm,因为memset用的次数太多被卡常数了,然后就看到了一个神奇的做法,可以只清空一次数组的黑科技做法。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <list>#include <原创 2017-10-23 20:38:05 · 762 阅读 · 0 评论 -
越狱 BZOJ - 1008
题目传送门思路:这个题正着想不容易想,但是我们可以去想怎么才能让越狱不发生,也就是任何两个相邻的人的信仰都不相同,然后再用所有的情况减去这个情况就好了。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <list>#include <map>原创 2017-10-13 22:20:00 · 296 阅读 · 0 评论 -
最大数maxnumber BZOJ - 1012
题目传送门思路:就可以直接用线段树来做,但是这个题用cin,cout就会re,好迷啊。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <list>#include <map>#include <queue>#include <set>原创 2017-10-13 11:39:49 · 328 阅读 · 0 评论 -
反素数ant BZOJ - 1053
题目传送门思路:这个题本来应该是一个用上唯一分解定理的爆搜,但是我没有想到一个好的放大就直接打了一个表来做的(以后补上爆搜的方法)。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <list>#include <map>#include原创 2017-10-13 09:19:59 · 350 阅读 · 0 评论 -
密码箱 BZOJ - 1406
题目传送门思路:x^2 mod n = 1 (x^2 - 1) mod n = 0 (x + 1)(x - 1) mod n = 0 我们假设n = k * n x - 1 = k1 * n1, x + 1 = k2 * n2 k1 * k2 = k, n1 * n2 =原创 2017-10-12 15:59:38 · 279 阅读 · 0 评论 -
石子合并 BZOJ - 3229
题目传送门题意:石子合并问题一般来说都是O(N^3)的复杂度,如果用四边形不等式优化的话可以使时间复杂度降低到O(N^2)的复杂度,但是这个题目的数据范围是40000,所以这个题要用到GarsiaWachs算法,可以使时间复杂度降到O(N*logN),从而解决这个题目。#include <algorithm>#include <cmath>#include <cstdio>#include <原创 2017-10-18 11:19:03 · 455 阅读 · 0 评论 -
涂色paint BZOJ - 1260
题目传送门思路:一个区间DP的模版题,dp[i][j]代表字符串从i到j最少需要多少次染色,然后就是区间DP了。#include <algorithm>#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <list>#include <map>#include <queue>#i原创 2017-10-18 00:23:36 · 344 阅读 · 0 评论 -
动物园 BZOJ - 3607
题目传送门思路:KMP还是学的不到家,一开始写了一个超时的代码然后不会优化了,然后看别人的代码发现num数组可以在进行KMP预处理的时候计算出来可以节省很多时间,然后就是再重新的KMP进行计算(一开始直接用的nex数组,但是可能会进行大量的没用的运算超时)。#include <algorithm>#include <cmath>#include <cstdio>#include <cstrin原创 2017-10-12 19:56:56 · 348 阅读 · 0 评论