Processing math: 100%

随笔分类 -  布鲁特福斯

普通BFS,DFS,A*,IDA*,迭代加深,枚举
摘要:突然发现有一道题还没做。。。 这道题数据范围是200000,枚举一下中间夹的那个点,然后随便操作一下(看代码)就行了。 #include <iostream> #include <cstdio> #include <cstring> const int N=200005,mod=10007; usi 阅读全文
posted @ 2018-10-14 11:29 SWHsz 阅读(152) 评论(0) 推荐(0) 编辑
摘要:分块题。 巨神Monster_Qi讲了以后发现这道题并不难,在此Orz 预处理两个数组,sum和ans。 离散化以后找前i块j出现了几次,和i到j块的众数是多少。这样的复杂度是n√n的,然后查询的时候边角块一个一个往进加,看能不能更新众数即可。 (不是我故意压行,是这个条件太多了。。。 #inclu 阅读全文
posted @ 2018-09-27 15:37 SWHsz 阅读(156) 评论(0) 推荐(0) 编辑
摘要:搜索水题。因为只有8个数,排列一共有40320种,直接bfs,判重就行了。 但是判重的时候直接用8进制表示的话要88的bool数组。这种操作太low了,于是我们可以用康托展开,降成8!。 康托展开其实就是一个简单的公式,很好意会。。。。 #include <iostream> #include <c 阅读全文
posted @ 2018-09-16 21:17 SWHsz 阅读(147) 评论(0) 推荐(0) 编辑
摘要:搜索水题 但是我还是wa了好几次,把求不能收到水的看成能收到水的了。。。。 大概解法就是先bfs出来所有靠湖的城能波及到的靠沙漠的,然后判断一下行不行,行的话就dp cpp include include include include include using namespace std; co 阅读全文
posted @ 2018-09-13 16:24 SWHsz 阅读(133) 评论(0) 推荐(0) 编辑
摘要:T1 叕出锅了。。。 大意:求一个最小的数的阶乘是给定的n个数的乘积的倍数。 二分边界定小,WA了两个点。二分边界不要省啊。。。多不了多少时间。。。 cpp include include include using namespace std; const int N=100005; int n, 阅读全文
posted @ 2018-08-10 20:06 SWHsz 阅读(135) 评论(0) 推荐(0) 编辑
摘要:~~21 世纪是生物学的世纪~~,以遗传与进化为代表的现代生物理论越来越多的 进入了我们的视野。 如同大家所熟知的,基因是遗传因子,它记录了生命的基本构造和性能。 因此生物进化与基因的变异息息相关,考察基因变异的途径对研究生物学有着 至关重要的作用。现在,让我们来看这样一个模型: 1、所有的基因都可 阅读全文
posted @ 2018-08-05 21:57 SWHsz 阅读(170) 评论(0) 推荐(0) 编辑
摘要:毫无意义的一道题。 用pai[i]表示某种点数的牌的剩余量,used[i]表示单,对,三,四的出牌数,大力分类讨论,大力dfs即可。。。真奇葩。。。 cpp include include include using namespace std; int T,n,ans,pai[20],used[6 阅读全文
posted @ 2018-07-27 21:35 SWHsz 阅读(324) 评论(0) 推荐(0) 编辑
摘要:一看n=10,大力dfs啊。。。每次切的长度一定x/n的倍数。 cpp include include include using namespace std; int N,X,Y; double dfs(double x,double y,double n) { if(n==1) {return 阅读全文
posted @ 2018-07-27 12:21 SWHsz 阅读(112) 评论(0) 推荐(0) 编辑
摘要:一开始以为是数位dp,但是想到什么68,688的倍数怎么求就懵了。。。但是发现只有10位,有1024个幸运数字,我们可以把这些数算出来,容斥原理做一下。 cpp include include include include include using namespace std; long lon 阅读全文
posted @ 2018-07-27 07:21 SWHsz 阅读(163) 评论(0) 推荐(0) 编辑
摘要:一开始以为是01分数规划,后来发现不知道怎么写。 发现只需要关心S,T的连通性和最长边最小边,而且边又那么少,可以枚举。 cpp include include include include using namespace std; const int N=5005; int n,m,mn,mx, 阅读全文
posted @ 2018-07-27 07:15 SWHsz 阅读(126) 评论(0) 推荐(0) 编辑
摘要:欢乐赛爆零祭 今天上午困得要死,全程划水。。 T1: 同gss3.最后query的时候return 的ans2,全部翻车。样例还过了。 cpp include include include using namespace std; int n,m; const int N=500005; stru 阅读全文
posted @ 2018-07-20 15:03 SWHsz 阅读(105) 评论(0) 推荐(0) 编辑
摘要:双向搜索。 ~~水div3的时候最后一道题由于C题死活看不懂题~~ 来不及做F了Orz。。 因为n,m是20,双向搜索一下,求个到中间的Xor值的方案,统计一下即可。 时间复杂度O(221) ~~好好学习英语,readforces。。。~~ cpp include using namesp 阅读全文
posted @ 2018-07-19 21:36 SWHsz 阅读(214) 评论(0) 推荐(0) 编辑
摘要:脑洞+暴力。 因为边权是1,所以bfs一下,O(n^2)求任意两点间最短路,再枚举。 ans最大是diss1,t1+diss2,t2 再考虑有公共边的情况,一定存在两个点 u, v ,最后留下的边为(s1,u),(s2,u),(u,v),(v,t1),(v,t2)或是 (s1,u), 阅读全文
posted @ 2018-07-17 19:52 SWHsz 阅读(205) 评论(0) 推荐(0) 编辑
摘要:本来用vector写的,结果T了,您还卡常啊.... 这类题叫同余类bfs,因为h太大了,我们不可能枚举(雾) 把h层弄成膜a下剩余系,然后向每个剩余系(x+b)%a连权为b的边,(x+c)%a连权c的边,spfa一发,然后随便搞一下。 long long! cpp include include 阅读全文
posted @ 2018-07-07 00:29 SWHsz 阅读(188) 评论(0) 推荐(0) 编辑
摘要:给定m0~2n1的整数 ,每个整数代表一个点,两个整数x,y之间有无向边联通当且仅当x&y=0 求无向图有多少个联通块 $ n include include include using namespace std; int n,m; int a[1 n m; for( 阅读全文
posted @ 2018-07-06 23:17 SWHsz 阅读(141) 评论(0) 推荐(0) 编辑
摘要:大意:给一张图,每个图上有一个数,问以每个点为源点,经过的点包含k种数字的最小距离。 显然跑最短路会T,但我们注意到边权一定。某次学校考试就是类似题,可以bfs做,复杂度O(n),每种货物做一次,复杂度O(kn),n=1e5,k=100,稳了。 cpp include include include 阅读全文
posted @ 2018-07-06 20:18 SWHsz 阅读(141) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示