剪枝
jinglinxiao
这个作者很懒,什么都没留下…
展开
-
USACO-Arithmetic Progressions(枚举剪枝)
题目链接:USACO-Arithmetic Progressions翻译首先计算出所有的双平方数,有2e4个,然后排序后开始枚举。如果在一个枚举样例中,d*(n-1)+a_0>max(a),那么说明不可能组成等差数列,则退出,由于n>=3,这里对于a_0较大的情况完成了大量的剪枝。还有一个剪枝就是从后往前枚举。因为后面较前面而言比较稀疏。因此枚举较少数量的等差数列后就能根据原创 2017-03-04 10:40:28 · 333 阅读 · 0 评论 -
USACO - Party Lamps (搜索剪枝)
题目链接:USACO - Party Lamps观察后可以发现所有数字都与前4个数字有关。 1:所有 3k+13k+1 的奇数 2:所有非 3k+13k+1 的偶数 3:所有非 3k+13k+1 的奇数 4:所有 3k+13k+1 的偶数而这四个灯只有16种状态,所以直接搜索然后判断即可。/*ID: xdujlx1PROG: lampsLANG: C++*/#include<bit原创 2017-03-08 22:26:22 · 266 阅读 · 0 评论 -
Codeforces-786C-Till I Collapse(二分剪枝)
题目链接:Codeforces-786C-Till I Collapse经过观察发现答案数组是非严格递减的,那么可以知道如果对于一个区间 [l,r][l,r] 中,如果 ans[l]==ans[r]ans[l]==ans[r] 那么整个区间 ansans 应该是一样的。所以把这种情况剪枝一下,然后就过了。。。。。。。 明显E比C,D简单,一脸懵逼。#include<bits/stdc++.h>u原创 2017-03-24 19:57:11 · 860 阅读 · 2 评论