搜索
L_0_Forever_LF
一个热爱OI的OIer
展开
-
BZOJ大视野 1085: [SCOI2005]骑士精神
深搜吧原创 2015-02-04 14:22:23 · 1302 阅读 · 0 评论 -
BZOJ3161: 孤舟蓑笠翁
将一个合法(即哈密顿距离在[dmin,dmax]内)的点对(p,q)视为一个点 问题变成在一个边权全部为1的无向图中,有一些关键点,求每个关键点到离它最近的关键点的距离 这个问题有个经典的bfs做法 将所有关键点加入队列去bfs,每个点第一次被bfs到时标记一下他是被哪个关键点找到的,然后加入队列,这样bfs一次后可以求出每个点到离他最近的关键点的距离以及是哪个关键点(当然一个关键点到离它最...原创 2018-03-08 21:52:01 · 304 阅读 · 0 评论 -
BZOJ3844: ZCC loves cards
朴素的暴力是Cknk!k2C_n^kk!k^2,但事实上很多组合根本不可能达到ans,所以枚举了一个组合后先忽略一定是连续的异或和的限制,2k2^k判答案是否有可能超过ans,有可能再k!k2k!k^2找,在随机数据下表现良好QAQcode:#include<set>#include<map>#include<deque>#include<queue>#include<stack>#inc原创 2017-12-25 10:49:44 · 361 阅读 · 0 评论 -
BZOJ1140: [POI2009]KOD 编码
ORZ题目要求的是任意一个字符的后缀+若干个字符+这个字符后一定走回根的字符 因为最优编码树深度不超过log层qwq,所以可以打两个标记搜…第一个标记是这个点是不是一个后缀+若干个字符 先搜一遍所有点的后缀,打上这个标记,然后从这些标记点开始走,走任意一个字符,如果走完了这个字符,这个标记点没有走到根,这个字符就是不合法的,同时如果此时走到的位置没有标记,就可以打上第一个标记加入队列 第二个标原创 2017-12-14 08:18:00 · 388 阅读 · 0 评论 -
BZOJ1118: [POI2009]Prz
这题好像是个论文题??有个论文证明了这题做法的复杂度但是我太懒了没去看….一开始我以为这题是反着构造使F(x,y)为true的x,y序列,然后得到什么结论什么的 想了一会没得到什么有用的东西就弃疗了 (连续相同的元素可以合并好像对搜索还是挺有用的一个性质 问了Claris这题居然是搜索qwq注意到元素集合|S|<=100,因为F(x,y)的柿子每次去掉一种元素,所以不会超过100层 然后这个原创 2017-12-11 15:57:12 · 629 阅读 · 0 评论 -
BZOJ1194: [HNOI2006]潘多拉的盒子
先判互相的包含关系,因为n<=50,直接bfs,(x,y)表示在A上走到x,B上走到y,若走到的x是输出源而y不是则B不包含y 判完包含关系后缩环拓扑序dpcode:#include<set>#include<map>#include<deque>#include<queue>#include<stack>#include<cmath>#include<ctime>#include<原创 2017-10-19 16:03:16 · 352 阅读 · 0 评论 -
BZOJ4828: [Hnoi2017]大佬
首先我们每一回合不选择苟活(刷水题)的话,我们能做的事和这是第几个回合无关 那我们肯定希望有尽量多的回合做苟活之外的事 先DP一下我们在存活的情况下,最多有多少个回合有空 然后这些回合里,我们可以打1,升级或发大招 然后…我们最多操作n次,C<=1e8(题解说)状态数是不多的 (用bfs+hash,实测100次时搜出的状态是700w+) 然后对于这m个大佬,每个可以O(n)O(n)判断这原创 2017-04-26 16:34:50 · 1376 阅读 · 0 评论 -
BZOJ2796: [Poi2012]Fibonacci Representation
记忆化搜索 所以其实就是乱搜吗…. 101710^{17}在fib数列里好像就70~80左右的地方,所以数据的数量不多,寻找x的解可以二分找到x大概在fib的哪个位置,然后找x和左右项的差的绝对值y#include<set>#include<map>#include<deque>#include<queue>#include<stack>#include<cmath>#include原创 2017-03-06 14:02:27 · 564 阅读 · 0 评论 -
BZOJ3139: [Hnoi2013]比赛
bzoj1306的强化版(双倍经验) 搜索,假设你现在刚匹配完第ii个,那么i+1i+1到nn之间比赛的输赢和前面的输赢是没有关系的,所以可以将i+1i+1到nn的剩余分数排序之后(顺序和答案无关)按28进制用map来hash(乘爆了就自然溢出也没什么关系)加记忆化code:#include<set>#include<map>#include<deque>#include<queue>#i原创 2017-01-17 16:34:16 · 492 阅读 · 0 评论 -
BZOJ3208: 花神的秒题计划Ⅰ
这题看完数据范围一脸的暴力和不信…. 直接上记忆化搜索了…code:#include<set>#include<map>#include<deque>#include<queue>#include<stack>#include<cmath>#include<ctime>#include<bitset>#include<string>#include<vector>#includ原创 2016-11-13 16:12:20 · 600 阅读 · 0 评论 -
BZOJ大视野 1054: [HAOI2008]移动玩具 解题报告
宽搜,二进制判重原创 2015-02-06 09:55:50 · 1109 阅读 · 0 评论 -
POJ3411 Paid Roads 解题报告
这题参考了他人的题解这题是DFS ,因为路径有要求如果经过某个点,费用不一样,所以有可能多次经过同一点,数据是10条边,所以最多可以经过一个点5次(不是一些题解中说的3次)如图,目标点是E,但是为了求最小费用,要经过F点5次,所以当一个点经过次数大于5次时,代表出现环,退出dfs#include#include#includeusing namespace std原创 2015-01-15 13:53:58 · 762 阅读 · 0 评论 -
poj1724 ROADS 解题报告
这题有很多种做法,我是无脑深搜 63MS题意大致是 :图中每条边有权值L,花费T。给定最大花费K。在K限定内求出从1—>N的最短路。做法: 一个一个点搜,当前状态花费已超过K或累计距离一超过最优解,跳出还有就是记录每个点搜到时的花费和距离 , 搜到这个点时,如果 累计花费超过 并且累计距离超过这个点的最优解,跳出原创 2015-01-16 13:44:12 · 801 阅读 · 0 评论 -
BZOJ5012[ioi2017]Train
下面定义的能走到/不能走到都是在A,B采取最优决策下的因为充一次电能跑n个点,所以A胜利的条件就是能走到一个有充电站的环,B反之如果一个充电车站不能走到任何一个充电车站(包括自己),那么我们可以把它视为不能充电的 我们不断bfs求出哪些充电车站不能被其他充电走到,然后去掉他们,重复这个过程直到图中剩余所有充电车站都可以到达一个充电车站 然后看起点是否能走到某个充电车站就知道是否A赢了...原创 2018-06-20 16:02:06 · 569 阅读 · 0 评论