ACM

51nod 1109 01组成的N的倍数(BFS+剪枝)

51nod 1109 01组成的N的倍数(BFS+剪枝)
题目:给定一个自然数N,找出一个M,使得M > 0且M是N的倍数,并且M的10进制表示只包含0或1。求最小的M。例如:N = 4,M = 100。题解:因为答案必须为十进制只包含01的数,所以我们只需要不断把当前数*10,和当前数*10+1放入队列即可。因为最终得到的结果可能会超出long long型,所以我们可以用字符串来存储,然后按照大数取模来计算余数即可。为什么要计算余数呢?... 继续阅读 »
ACM

Atcoder - Fennec VS. Snuke(DFS)

Atcoder - Fennec VS. Snuke(DFS)
题意:Fennec和Snuke玩一个游戏,F在第一个点并且第一个点为黑色,S在第N个点并且第N个点为白色,然后给出一些点的相连,两个人轮流选择自己自己的颜色旁边相连并且没有上色的点进行涂色,谁最先没有色可以涂谁就输。问最后谁赢谁输。题解:先dfs找到1到N这条链中间中间的下一个点并且保存位置为p,然后从第1个点开始再次dfs,如果遇到p点则停止dfs返回0,然后求dfs到点的和sum,如果sum&... 继续阅读 »
ACM

2016HUAS_ACM暑假集训2-B - The Suspects

2016HUAS_ACM暑假集训2-B - The Suspects
B - The Suspects这个题是并查集的应用,如何找到可能的患者?我们只需要把和患者(编号0)会牵扯到一起有关联的社团全都加在一个父节点下面就行了,虽然使用了路径压缩算法,但是最后还是可能会存在树高为3的树,所以这里的路径压缩并不彻底,AC的时间比大部分高,还有待优化(其实优化过一次,不过是错的)。#include <iostream> //#includ... 继续阅读 »
ACM

2016HUAS_ACM暑假集训2-E-I Hate It

2016HUAS_ACM暑假集训2-E-I Hate It
E - I Hate It这个题嘛,我也只能说坑,感觉二叉搜索树到处都是坑啊。这不过是二叉搜索树的简单应用吗?建树,更新,查找。不可能有错啊。和上一个敌兵布阵一样,我cin、cout也没用了啊,为什么?好吧,继续“I Hate It TLE”搜索。好了,找到了,数组开小了就会TLE,我。。。Description很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是... 继续阅读 »
ACM

2016HUAS_ACM暑假集训2-D - 敌兵布阵

2016HUAS_ACM暑假集训2-D - 敌兵布阵
D - 敌兵布阵二叉搜索树的问题,求区间最大数。这个题嘛,只能说坑,坑到死,写程序和调试程序的时间大概是1:2,一遍写好,之后就一直在Debug,我就说我逻辑没错吧,为了检查我把别人的c语言代码全部移植过来,也是TLE,难道是我主程序有问题?怎么可能!!!找了好久,最后用“敌兵布阵 TLE”作为关键词搜索,发现,原来是c++里面的cin、cout太耗费时间,我...Description... 继续阅读 »