水题、暴力、乱搞
文章平均质量分 57
qingdaobaibai
这个作者很懒,什么都没留下…
展开
-
【bzoj2241】 SDOI2011打地鼠 暴力+剪枝
暴力加上几个剪枝就A了,首先要倒着枚举,次数超过答案的就不判了,然后要注意总数是锤子的倍数,每次打的时候从上向下打。#include#include#include#include#include#include#define maxn 110#define inf 1000000000using namespace std;int a[maxn][maxn],b原创 2015-10-21 12:53:34 · 665 阅读 · 0 评论 -
【bzoj3505】 CQOI2014数三角形 数学
数学题,补集转化。总点数-共线点数,横着竖着直接算好了,斜着需要考虑一下。考虑枚举两个点之间的横坐标之差和纵坐标之差,如果是(0,0)到(a,b)的矩形,对角线上有gcd(a,b)-1个点。(为什么呢?把斜边看成直角三角形,那么如果存在(0,0)-(c,d)在(0,0)-(a,b)上,那么这两个直角三角形相似,如果一个直角三角形不能再往下分,当且仅当c和d互质,即c=a/gcd(a,b),原创 2015-09-21 12:43:20 · 1162 阅读 · 0 评论 -
【bzoj2463】 [中山市选2009]谁能赢呢? 水题
不能算是结论题吧,想一想就可以啦,当n为偶数时,棋盘可以被2*1的小矩形覆盖,所以偶数时先手必胜,同理,奇数后手必胜。#include#include#include#include#include#includeusing namespace std;int n;int main(){ scanf("%d",&n); while (n!=0) { i原创 2015-09-21 09:15:30 · 672 阅读 · 0 评论 -
【bzoj1098】 POI2007 办公楼biu dfs+优化
这道题第一思路是建反图,然后看反图的联通块个数,但是很明显反图太大了,不能直接建出来。那么有两个优化,第一个优化是我们每次建边时先把边排一遍序,然后按顺序建边,每次找的时候按顺序找,第二个优化是用并查集来加速,当访问过x时,就把x指向x+1,这样每次可以直接访问下一个没有访问的点。#include#include#include#include#include#include原创 2015-07-30 16:04:46 · 1292 阅读 · 0 评论 -
【bzoj3990】 SDOI2015排序 dfs搜索+剪枝
航爷出的题果然太耗脑子了,看完gty大哥的题解才会做。首先有一个结论,操作序列的顺序不影响最终结果,所以我们搜出一种合法的操作组合之后乘以步骤数的阶乘就可以了。然后我们发现,从小到大搜索,当第i次操作完成后,每一个2^i的段必须变成有序的,而且每次操作只允许有4个顺序不同的,这样一交换才可能变成有序。#include#include#include#include#includ原创 2015-07-27 16:37:35 · 832 阅读 · 0 评论 -
【bzoj1864】 ZJOI2006 三色二叉树 水题
当年ZJOI这么水呀,随便水一下,结果跪了半个小时。。。#include#include#include#include#include#include#define maxn 500010using namespace std;char s[maxn];int f[maxn][3],g[maxn][3];int n,m,num,id;void dfs(){ i原创 2015-07-20 17:51:14 · 580 阅读 · 0 评论 -
【bzoj1082】 SCOI2005 栅栏 二分+搜索
以前听lyp讲过这道题,现在发现自己的搜索还是不太熟练,加了两遍可行性剪枝,结果又WA又T,发现加剪枝和不加完全是两个速度。具体怎么搜的还是看代码吧。#include#include#include#include#include#include#define maxn 1010using namespace std;int a[maxn],b[maxn];int原创 2015-07-20 17:11:13 · 534 阅读 · 0 评论 -
【bzoj2435】 NOI2011 道路修建 水题
其实不能说什么了,貌似你会dfs这道题就能A,当然考场上要写bfs。。。直接放代码了。。。#include#include#include#include#include#include#define maxn 1000010using namespace std;int n,m,num;long long ans;int next[2*maxn],to[2原创 2015-07-18 16:17:25 · 1313 阅读 · 0 评论 -
【bzoj4602】[Sdoi2016]齿轮 dfs
我竟然会忍痛写了这道题,边写边想骂人,mdzzdfs一遍就可以,取对数后乘除化加减。考场上能让直接long double乘的人过去了,出题人我也是服了。#include#include#include#include#include#include#define maxn 20010#define eps 1e-8using namespace std;原创 2016-05-20 22:54:48 · 1212 阅读 · 0 评论 -
2016百度之星 - 初赛(Astar Round2A)题解
作为线下选手,非常不要脸的写一份题解……A、hdu5690题意:求m个x组成的数模k是否等于cm题解:两种做法,第一种,裸的矩阵乘法,构造矩阵{f(x,i),x}*{10 0}={f(x,i+1),x} {1 1}复杂度O(Tlog m)#include#include#include#include#include#i原创 2016-05-21 22:29:03 · 1831 阅读 · 2 评论 -
【bzoj1045】 HAOI2008糖果传递 中位数
好神的题。http://hzwer.com/2656.html#include#include#include#include#include#include#define maxn 1000010using namespace std;int a[maxn];long long c[maxn];int n,m;long long ans,sum;in原创 2015-09-25 11:22:00 · 668 阅读 · 0 评论 -
【bzoj4245】 [ONTAK2015]OR-XOR 二进制相关
利用前缀和选m个区间等价于选m个数从最高位开始找,如果这一位至少有m个0,则可以为0,该位为1的后面就不可以选了。还要注意,最后一个数如果该位为1,那么这一位必须为1,然后要从62开始枚举,而不是从31。#include#include#include#include#include#include#define maxn 500010using names原创 2015-10-20 16:13:45 · 927 阅读 · 0 评论 -
【bzoj3721】 PA2014Final Bazarek 贪心
不错的题,先排序,从大到小取k个,如果为奇数就直接输出,否则去掉前面一个最小的偶数加上后面一个最大的奇数,或者去掉前面一个最小的奇数加上后面一个最大的偶数。#include#include#include#include#include#include#define maxn 1000010using namespace std;long long a[maxn],原创 2015-10-22 14:48:06 · 908 阅读 · 0 评论 -
【bzoj2441】 中山市选2011小W的问题 线段树
果然考试时候写题乱脑子,代码写的又臭又长。首先五个点其实是找三个点V字形的,然后f[i]表示以i为结尾的V的个数,其实就是所有i左边纵坐标比i小的数中前面纵坐标比i大的数的个数,说起来好麻烦,意会即可。第一眼感觉是树套树可做。后来想了想,弃疗了。先不考虑相等的情况。果断想一想离线算法,按照纵坐标排序,从小到大插入数列中,每个点i维护一个data[i]表示未插入序列中横坐标小于i原创 2015-10-03 20:56:57 · 1283 阅读 · 1 评论 -
【bzoj4216】 Pig 乱搞
时间换空间,以后再也不开那么多库了。50个一块。#include#include#define maxn 10010using namespace std;int a[500010];long long s[maxn];int n,T,t;long long ans,sum;int main(){ scanf("%d%d%d",&n,&T,&t); fo原创 2015-10-01 20:00:20 · 1035 阅读 · 2 评论 -
【bzoj4292】 [PA2015]Równanie 乱搞
嗯嗯,看到题果断数位dp。然而可以乱搞一下,枚举f(n),然后直接判断k*f(n)的f是不是f(n)不就好了吗?#include#include#include#include#include#includeusing namespace std;long long a,b,k;long long ans=0;int cal(long long x){原创 2015-10-01 19:06:28 · 1030 阅读 · 0 评论 -
【bzoj1192】 HNOI2006鬼谷子的钱袋 水题
这不是小学奥数么?把它拆成2的整数次幂就好了。#include#include#include#include#include#includeusing namespace std;int n;int LOG(int x){ int ans=0; while (x) { x>>=1; ans++; } return ans;}int ma原创 2015-09-21 08:59:34 · 356 阅读 · 0 评论 -
【bzoj2083】 POI2010Intelligence test 乱搞
貌似这么水的一道题调很久不应该吧,但是我做到了,表示不会STL自带的vector的二分,于是手写的。就是开一个vector记录一下每个元素出现的位置,然后每进来一个元素,就在vector里二分找是否有可行的位置了。数据范围什么鬼?!#include#include#include#include#include#include#include#define inf原创 2015-08-13 16:37:22 · 602 阅读 · 0 评论 -
【bzoj1819】[JSOI]Word Query电子字典 trie+暴力
先建出trie树,暴力在trie树上dfs,三种情况分别对应字符串跳一下,trie树上跳一次,trie树上往不同方向跳一次,注意记录一下每个节点是否出现过,因为可能有同一个字符串经过不同的操作多次到达的情况。#include#include#include#include#include#include#define maxn 200010using namespace原创 2015-11-25 19:03:45 · 1424 阅读 · 0 评论 -
【bzoj3444】最后的晚餐 乱搞
不在一个联通块里的肯定不影响,最后组合数算一下就可以问题在于同一个联通块里有多少种排法这道题表面上是有向边,实际上是无向边,因为要强制坐在一起一个点的度数最多为2,且如果出现长度大于2的环则无解那么就是说没有环喽,也就是每个点都在一条链上现在问题就是一条链有多少种排法,这个问题很明显吧,就是等于2呀ans=(cnt+cnt')!*(2^cnt)cnt表示链的数量,cnt原创 2016-03-11 08:32:28 · 933 阅读 · 0 评论 -
【bzoj4104】[Thu Summer Camp 2015]解密运算 乱搞
这种题就是要多想一想首先每个数给了我们两个信息,这个数是什么,以这个数后面的第一个数为开头的字符串的排名首先0的位置告诉了我们第一个数排第几而第一个数的位置又告诉了第二个数排第几依此类推那么怎么找到正确的排名呢?其实我们只需要考虑首字母相同的字符串的大小比较咦,首字母相同是不是就比较它们后面的字符串的大小关系就可以了,那么怎么比较呢?我们发现其实原本就已经给出来了呀原创 2016-02-27 15:55:51 · 1306 阅读 · 0 评论 -
【bzoj4059】[Cerc2012]Non-boring sequences 分治
好吧,这道题的复杂度真是蛮神奇的。http://whx991201.is-programmer.com/posts/190036.html搞了好久才发现暴力的复杂度是对的。首先处理出pre[i],nxt[i],很明显只要i这个位置的数如果pre[i]R那么这个数在区间[L,R]上只出现了一次。考虑如果要检验区间[l,r],那么只需要找到一个在[l,r]上只出现了一次的数,然后把原创 2016-01-08 10:03:04 · 835 阅读 · 0 评论 -
Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals) 总结
重回赛场,第一场比赛,找一找状态A Unimodal Array题意:判断一个数列,是否是先递增,再相等,后递减题解:模拟判断。记录当前位置处于第几段。#include#include#include#include#include#include#define maxn 110using namespace std;int a[max原创 2017-07-15 09:55:03 · 611 阅读 · 1 评论