-
高级搜索专题
Aug 16, 2015 · 1 min read基础的搜索BFS和DFS,自己找题切吧... 高级搜索的题集就在下面,自己看着办吧... 努力爆搜,努力剪枝吧~~~ 【Level 1】 HDOJ-1429 胜利大逃亡(续) HDOJ-1885 Key Task HDOJ-1226 超级密码 HDOJ-1664 Different Digits HDOJ-2821 Pusher HDOJ-2128 Tempter of the Bone II HDOJ-3533 Escape HDOJ-4101 Ali and Baba HDOJ-3839 Ancient Messages HDOJ-1685 Booksort HDOJ-2614 Beat HDOJ-3309 Roll The …
Read More -
______ 好蠢,竟然没看出来这道题的不同之处,以为就是个搜 然后样例什么的都过了... 结果显然wa... 然后才发现,这道题应该是tsp问题. 解法是先跑一遍bfs, 对于所有的脏点和起点,得到没两个点之间的距离. 然后跑一遍dfs,枚举出所有的组合,同时更新答案. 晚安. /************************************************************************* > File Name: code/poj/rr2688.cpp > Author: 111qqz > Email: rkz2013@126.com > Created Time: …
Read More -
比赛的时候没搞出来,really sad. 其实这题很容易啊.... 首先,对于lie 的判断应该基于能放的船的个数. 能放的船的个数是随着射的点数的增加而减少的. 射完每个点后更新能放的船的个数,如果这个时候已经无法放下k条船了,说明lie了. 如果所有都射完也没发生,那么就-1. 由于船与串不能相邻,除了最后一条船,每条船实际占的size 应该为a+1 那么很容易知道对于长度为l的区间,能放的船的个数为(l+1)/(a+1) 这是初始能放的船的个数,为最大值. 当射了点b之后,破坏的是b所在的一段最大的没有被射过点的区间的连续性. 做法是找到距离b点最近的左端和右端的被射过的点. 可以用set 搞,找的时候upper_bound …
Read More -
/************************************************************************* > File Name: code/cf/#315/E.cpp > Author: 111qqz > Email: rkz2013@126.com > Created Time: 2015年08月15日 星期六 13时48分36秒 ************************************************************************/ #include<iostream> …
Read More -
【2-SAT问题】(转自kuangbin的博客)
Aug 15, 2015 · 1 min read【2-SAT问题】 现有一个由N个布尔值组成的序列A,给出一些限制关系,比如A[x] AND A[y]=0、A[x] OR A[y] OR A[z]=1等,要确定A[0..N-1]的值,使得其满足所有限制关系。这个称为SAT问题,特别的,若每种限制关系中最多只对两个元素进行限制,则称为2-SAT问题。 由于在2-SAT问题中,最多只对两个元素进行限制,所以可能的限制关系共有11种: A[x] NOT A[x] A[x] AND A[y] A[x] AND NOT A[y] A[x] OR A[y] A[x] OR NOT A[y] NOT (A[x] AND A[y]) NOT (A[x] OR A[y]) A[x] XOR …
Read More -
D. Symmetric and Transitive time limit per test 1.5 seconds memory limit per test 256 megabytes input standard input output standard output Little Johnny has recently learned about set theory. Now he is studying binary relations. You've probably heard the term "equivalence relation". These relations are very …
Read More -
http://baike.baidu.com/link?url=kw5Kxe3nSvRJR0TpJUpMrORcQL8fyZFpJlT9_o0RlGYOy0bKFobabPPSj3LxGfy7o1qGVycrYK4Iags3hMFq0a 在组合数合里,贝尔数给出了集合划分的数目,以数学家埃里克·坦普尔·贝尔(Eric Temple Bell)命名,是组合数学中的一组整数数列。[1] 以B0= B1=1为始, 首几项的贝尔数为:1, 1, 2, 5, 15, 52, 203, 877, 4140, 21147, 115975, …(OEIS的A000110数列) _B__n_是基数为_n_的集合划分数目。集合S_的一个划分是定义 …
Read More -
先预处理出来比小于等于n的素数的个数和回文数的个数... 素数不筛竟然也可以过 然后暴力就好. 需要注意的是,比值并不单调,找最大的n,可能之前某个数开始不满足条件,之后又有满足条件的了. 我们可以倒着扫来找,第一个满足条件的就是最大的. /************************************************************************* > File Name: code/cf/#315/C.cpp > Author: 111qqz > Email: rkz2013@126.com > Created Time: 2015年08月11日 星期二 00时54 …
Read More -
比赛的时候想到了是dp搞... 不过dp废..... 可能更多的是心理上... 这道题并不怎么难想,但是以觉得是dp,就给了自己一种暗示...这题我搞不出来... 实际上,我把cA掉的时候应该还有一个小时十分钟左右的样子... d题没啥思路,所以我有大概一个小时的时间可以搞e...未必就搞不出来. 还有因为答案很大要取模,感觉一般取模的题,要么是数学,要么是像dp这种有递推式子的. 这道题的思路是: 因为要形成回文串,我们可以从两边往中间走,保证每一步都相同. dp[i][x1][x2] 表示路径长度为i,左上角出发到达x坐标为x1,又下角出发到达x坐标为x2,且两条路径上对应的字母都相同的方案数. 然后判断当前格子的字母是否一样, …
Read More