dfs/bfs
bluelanzhan
这个作者很懒,什么都没留下…
展开
-
一道vector+map的dfs题
题目描述给出个数,从中选取一个子集,如果这个子集可以分成两个和相等的部分,那么方案数加1。求总方案数。输入格式第一行包含一个正整数n。接下来n行,每行n个数。输出格式一行包含一个数,表示结果。样例41234输出:3;n <= 20 ,给出的每一个数的绝对值<= 1e9;这道题3^20枚举。。。然而要超时,,,好吧我们先枚举3^10.用map...原创 2018-10-23 09:50:16 · 170 阅读 · 0 评论 -
NOI 2008 假面舞会
如果没有环那么最大的面具的种类为所有联通块最长链之和、最小为3,如果最长链之和<3,则无解;如果有环找出每个环的结点个数=、=面具种类数为所有环的结点个数的最大公约数x。为什么呢一个环1->2,2->3,3->4,4->5,5->6,6->1;那么可能的面具数为6或3种,是6的约数。如果公约数小于3无解,大于3有解,最小的面具种数一定是&g...原创 2018-10-23 15:42:00 · 361 阅读 · 0 评论 -
P2324 [SCOI2005]骑士精神
本来是骑士跳,太多了,不如转换成空格跳。现在位置合法:现在位置上的东西和目标状态这个位置上的东西一样。现在位置不合法:现在位置上的东西和目标状态这个位置上的东西不一样。四种情况:空格要跳的位置的现在的骑士是合法的,和空格换了位置以后,不合法了;(原来空格所在位置上的目标骑士和空格要跳的位置上的现在骑士比较空格要跳的位置现在的骑士是不合法的,和空格换了位置以后,合法了;(原来空格...原创 2018-10-23 21:08:33 · 185 阅读 · 0 评论 -
引水入城(记忆化搜索+区间完全覆盖问题)
每个第一行的城市,在最后一列能影响到的一定是一段连续区间。如果不连续,假设是两段区间,那么两段区间中肯定不能被其他第一行的城市影响到,如果影响到,如下图如果蓝色和红色相交,那么蓝色一定可以更新到红色的。所以假设是两段区间,那么两段区间中肯定不能被其他第一行的城市影响到,而这种情况就是题目所谓不合法情况。那么我们就记忆化搜索,把第一行每个城市能影响到的最后一行的连续区间大小处理出来。...原创 2018-11-01 23:26:49 · 240 阅读 · 0 评论 -
noip2013 华容道(bfs + spfa)
//拖了两周,终于把这道题A了//没事千万不要在bfs和spfa里memset(打板子打习惯了memset),我就t了好久,泪流满面。还有一定要把哪个是目标,那个是起点的坐标看清楚啊,我调了1个小时才看出来。。。蒟蒻的我不想说什么了。。。。这道题求每次游戏所需要的最少时间,可以考虑建图跑spfa求最短路。怎么建?//不建让空格到处乱跑,bfs到指定初始棋子移到了目标位置。就停止,这样做...原创 2018-11-04 14:45:41 · 229 阅读 · 0 评论