
搜索
Mys_C_K
人生有许多道:曾经踏足的是道,即将踏往的也是道,那什么才是道呢?唯有脚下走的才是道。一切精神或者物质都归于虚无,然后从混沌中衍生出三万道。在悲喜间涉足一条无数前人经历过,且将有无数后人奔赴的道,无论是否已经或者将要到达彼岸,然后便不再回头或是左顾右盼,即使有些道繁盛至极,夜灯如昼,无数人一浪又一浪的涌去,造就了世人皆知的辉煌;即使有些道草木凋敝,荒草丛生,只等勇敢的开拓者斩开荆棘,创造一片天地;这些都无所关,无所在意,彼岸何如、来日何方甚至过往旧事都化作一缕云烟,飘渺碧霄,我自撷高山之月色,独随足落处往行。
展开
-
[POI2007] BZOJ 1102 山峰和山谷Grz-bfs-floodfill
题目链接:右转进入题目题目大意:请自行参考题目;题解:一眼望过去就是个O(n^2)的爆搜。但是有几个注意的地方:1,题目的联通是八联通;2,由于最多有10^6的点,所以dfs会爆栈;3,每次找一个合法的联通块,如果搜索到一半发现不合法也要把这个联通块全部填充完,否则下一次再次搜索到这个联通块会很麻烦;4,八个判断可以用dx和dy数组简化,这个常用技巧;5,由于每次填原创 2017-04-15 12:14:04 · 841 阅读 · 0 评论 -
图 - dfs
题目大意:给你一张无向图,你要么将其四染色,要么找到一个长度为奇数的环,删掉后图仍然是连通的。保证图连通。n<=1e5.题解:考虑先求出一个dfs树,然后分层染0/1。然后考虑把那些两端颜色相同的非树边拿出来,若只考虑这些边存在奇环,那么显然把这个奇环删掉也还是连通的(因为都是非树边);否则按照非树边再做一次黑白染色,0变成12,1变成34就可以了。...原创 2019-03-13 16:24:40 · 257 阅读 · 0 评论 -
[集训队作业2018]uoj 425 strings - 搜索 - bitset
这题……题解:考虑O(2n)O(2^n)O(2n)暴力枚举答案,可以分成两段,先枚举前aaa位,然后算出目前匹配那些串,设为S。对每个给定的串stristr_istri求其能匹配后面枚举出来的2n−a2^{n-a}2n−a个串中的哪些串,假设叫bib_ibi,那么前a位后面能接上的就是S中的串strstrstr对应的bbb的并。因此对{1,⋯ ,q}\{1,\...原创 2019-03-03 12:32:13 · 589 阅读 · 0 评论 -
六 - 搜索 - dp
题目大意:给你一个正整数NNN,为有多少非空序列{An}\{A_n\}{An}满足:∀ i∈[1,n], Ai∣N∀ i∈[1,n], (∑j=1i−1[gcd(Ai,Aj)>1])≤1\forall\ i\in[1,n],\ A_i|N\\\forall\ i\in[1,n],\ \ \left(\sum_{j=1}^{i...原创 2018-12-20 20:37:20 · 250 阅读 · 0 评论 -
NOIP2018 Day2 T2 填数游戏 - 打表 - 搜索 - 找规律
真尼玛是个好题弄个爆搜跑出(7,8)。然后发现规律;规律是:f(n,m)=f(m,n)f(n,m)=3f(n,m−1),m>n+1f(1,n)=2nf(2,2)=12,f(2,3)=36,f(3,3)=112,f(3,4)=336f(n+1,n+1)=8f(n,n)−10⋅2n,n≥4f(n,n+1)=3f(n,n)−3⋅2n,n≥4f(n,m)=f(m,n)\\f(n,m...原创 2018-11-21 09:58:08 · 794 阅读 · 0 评论 -
NOIP2018 Day2 T1 旅行 - 搜索
枚举删哪条边然后贪心即可。#include<bits/stdc++.h>#define rep(i,a,b) for(int i=a;i<=b;i++)#define lint long long#define gc getchar()#define pb push_back#define mp make_pair#define fir first#define ...原创 2018-11-20 18:26:37 · 379 阅读 · 0 评论 -
好数 - 折半搜索
题目大意:给你个质数集合S,∣S∣≤25|S|\le25∣S∣≤25,问有多少不超过n的数字其质因数分解的质因子都在S中。题解:直接折半爆搜即可。#include<bits/stdc++.h>#define rep(i,a,b) for(int i=a;i<=b;i++)#define Rep(i,v) rep(i,0,(int)v.size()-1)#define...原创 2018-11-04 14:03:02 · 173 阅读 · 0 评论 -
牌局 By liuzhangfeiabc - 模拟 - 搜索
模拟搜索真刺激z_y_b 他真无敌(又押韵了啊QwQ)题目大意:唔……直接粘原来的题目大意好了:游戏中共有7种宝石,分别是红色(R),橙色(O),黄色(Y),绿色(G),蓝色(B),紫色(P)和白色(W)。一副手牌由5张牌组成,在比较得分时,会先根据牌型特点进行分类,类别高的牌得分更高;在等级相同时,则会根据颜色的不同进一步判断。手牌分类的依据如下:编号 名称 特征 内部比较方式 ...原创 2018-11-01 20:02:54 · 360 阅读 · 0 评论 -
假斗地主 - 搜索
题目大意:规则和斗地主一样,问为能否在不出超过1张单牌的情况下把牌出完,如果不能则问所有出牌方案中,第二小的单牌最大是多少。题解:直接搜即可。#include&lt;bits/stdc++.h&gt;#define rep(i,a,b) for(int i=a;i&lt;=b;i++)#define mp make_pair#define fir first#define sec se...原创 2018-10-29 12:28:32 · 261 阅读 · 0 评论 -
表达式(exp) - 表达式求值 - 搜索
题目大意:给定n(=7)和s,以及一个表达式(仅有ai,&amp;lt;,&amp;amp;,∣,(,)a_i,&amp;lt;,\&amp;amp;,|,(,)ai,&lt;,&amp;,∣,(,)组成,并且先算括号,再算与,再算或,逻辑运算两端一定是真假值,小于号两端一定是数字,并且小于运算结果是真假值,并且括号内一定是真假值),问有多少{an}\{a_n\}{an}满足ai∈[0,s)...原创 2018-10-15 14:33:09 · 457 阅读 · 0 评论 -
bzoj 4694 水题嘉年华 - 数据分治
题解:首先两个直观的做法是,如果序列中-1很少,那么枚举-1是怎么配对的,然后二分图染色一下即可。另一种情况是,枚举所有已知的配对的上下情况,对于其余的-1,若其向上连视为1,向下连视为0,那么等价于有若干区间和为奇数/偶数的限制,而且只要满足这些限制就必然能构造一组解。最终,大约当-1的个数/2在[0,5~7]时跑第一种,其余跑第二种算法的时候,能够得到100分的好成绩。#include&l...原创 2018-10-08 15:42:49 · 365 阅读 · 0 评论 -
ARC 065 E Manhattan Compass - 搜索
处理出能到达哪些点,然后看这些能够到达的点哪些点对的距离等于ab间的距离。前者一边搜索一边删除来保证复杂度,后者搞个vector二分一下。#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<set>#include<...原创 2018-09-17 19:21:06 · 255 阅读 · 0 评论 -
ARC 075 D Mirrored - 搜索
首先把N写出来,然后把r(N)-N写出来,发现这玩意个位%10是个定植,要么是x要么是x-10(0<=x< 10)。然后再确定十位数,依次类推,2的len/2次枚举每一位到底是啥即可。注意当x=0的时候只有一种可能。#include<iostream>#include<cstring>#include<cstdio>#include<...原创 2018-08-14 15:18:10 · 205 阅读 · 0 评论 -
[SDOI2016] BZOJ4602 齿轮-dfs-带权并查集-数论逆元-质因数分解
传送门题解:总结几种做法,并指出其中的优劣;主要是两种算法,一种是暴力dfs,另一种是并查集。事实上这种“每条边都考虑”大概都可以用上述两种办法处理,并查集复杂度略高,但是其实近乎线性。暴力dfs就是,建一张无向图(不能是有向的),然后对于每个联通块,第一个元素设为1,然后通过第一个元素,算出其它元素的值,然后对于点x,以及边(x,y),如果y也访问过了,就判断一下通过原创 2017-05-19 18:24:58 · 592 阅读 · 0 评论 -
BZOJ1671 骑士-bfs
传送门题目大意:自行参考题解:暴力搜索,把每个点拆成“有灌木”和“没灌木”两个点,bfs一下即可。代码://BZOJ1671#include#include#include#include#define MAXN 1100#define MAXM 1100#define inrange(x,y) (1<=(x)&&(x)<=n&&1<=(y)&&(y)<=m)#de原创 2017-05-16 21:18:16 · 446 阅读 · 0 评论 -
不同的缩写 - 搜索 - 网络流
题目大意:给你n个字符串,你要对每个字符串求一个子序列,使得这些子序列非空并且两两不同,并且最长的子序列长度最短。n,∣s∣≤300n,|s|\le300n,∣s∣≤300题解:显然二分答案x。通过精确的搜索可以对每个串找出长度不超过x的n个不同的子序列(显然如果一个串有至少n个本质不同的子序列那么其一定可以放到最后选),然后连边跑二分图匹配即可。#include<bits/stdc++...原创 2019-03-13 16:39:26 · 450 阅读 · 0 评论