上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 86 下一页
摘要: #include #include #include #include #include using namespace std; long long n, p, ans[3000010]; int main() { scanf("%lld%lld", &n, &p); ans[1] = 1; for (int i = 2; i <= n; i++) ... 阅读全文
posted @ 2017-11-10 16:46 zbtrs 阅读(164) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #include #include using namespace std; int n, m, f[100010][21]; void init() { for (int j = 1; j <= 20; j++) for (int i = 1; i + (1 << j) - 1 <= n; i++)... 阅读全文
posted @ 2017-11-10 16:39 zbtrs 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 快考试了,把我以前写过的题回顾一下.Noip2007 树网的核:floyd,推出性质,暴力.Noip2008 笨小猴:模拟Noip2008 火柴棒等式:枚举Noip2008 传纸条:棋盘dpNoip2008 双栈排序:将复杂条件转化为简单约束,二分图染色判断可行性,模拟.Noi2010 能量采集:常 阅读全文
posted @ 2017-11-07 23:10 zbtrs 阅读(2437) 评论(0) 推荐(0) 编辑
摘要: 分析:非常神的一道题.迭代加深搜索+rand可以骗得20分.状压n的话只有24分,必须对问题进行一个转化. 在爆搜的过程中,可以利用差分来快速地对一个区间进行修改,把一般的差分改成异或型的差分: b[i] = a[i] ^ a[i + 1],每次翻转操作实际上就是在b[l-1]取反,b[r]上取反. 阅读全文
posted @ 2017-11-06 22:33 zbtrs 阅读(383) 评论(0) 推荐(1) 编辑
摘要: 分析:对于前18个点可以考虑非常恶心的树形dp,不推荐这种方法.其实贪心还是很显然的.每个小队可以控制距离不超过k里的驿站,肯定要让这个k里不能白白浪费.对于所有叶子节点,如果它还没有被控制,那么肯定要在它的第k级祖先派一个小队.这样能保证控制到它,还能控制到尽可能多的点.这样,将所有点按照深度排序 阅读全文
posted @ 2017-11-06 22:18 zbtrs 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 分析:其实很容易想到O(n^3m^3)的算法,枚举x1,x2,y1,y2,再统计一下和.求和可以用前缀和,能优化到O(n^2m^2),能得到60分.对于特殊性质的点,求一下a[i][j]与k的最小公倍数lcm,就可以推出来要选多少个点,乘法原理推一下就能解决了. 满分做法的思想是降维,先分析一下一维 阅读全文
posted @ 2017-11-06 22:08 zbtrs 阅读(227) 评论(0) 推荐(0) 编辑
摘要: counter: 664BZOJ1601 BZOJ1003 BZOJ1002 BZOJ1192 BZOJ1303 BZOJ1270 BZOJ3039 BZOJ1191 BZOJ1059 BZOJ1202 BZOJ1051 BZOJ1001 BZOJ1588 BZOJ1208 BZOJ1491 BZO 阅读全文
posted @ 2017-11-06 19:35 zbtrs 阅读(929) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2017-11-06 10:32 zbtrs 阅读(12) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2017-11-06 10:06 zbtrs 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 分析:暴力分挺多,也挺好想的,个人感觉两个特殊性质没什么卵用. 对于K=1,n ≤ 1024的情况,从后往前贪心地分,如果能和上一组分在一起就分在一起,否则就再开一组,这样可以保证字典序最小.ai ≤ 2就看前面有没有2.有就不能分在一组.n ≤ 131072就不能再这样二重循环枚举了,因为两个数的 阅读全文
posted @ 2017-11-05 23:43 zbtrs 阅读(423) 评论(1) 推荐(0) 编辑
上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 86 下一页