随笔分类 -  紫书第7章

摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 迭代加深搜索。 可以想见最后深度不会很深吧。。 然后皇后之间互相攻击到是允许的。。 就这样 【代码】 cpp / 1.Shoud it use long long ? 2.Have you ever test several s 阅读全文
posted @ 2018-01-02 15:19 AWCXV 阅读(266) 评论(0) 推荐(0) 编辑
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 IDA 保证这次移动的方格不和前一次重复。 然后加一个8数码的剪枝就行了。 看看当前状态和目标状态有多少个地方是不一样的。 如果当前的步数加上它仍然比答案大。 显然可以剪枝。 因为不同的数目肯定小于等于要移动的数目; (每次移动 阅读全文
posted @ 2018-01-01 19:24 AWCXV 阅读(295) 评论(0) 推荐(0) 编辑
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 迭代加深搜索。 枚举最大层数。(也即改变的数字个数 然后枚举第一个改哪个数字,第二个改哪个数字。。 一定要注意字典序问题。 每次优先改成较小的字典序(也即顺序枚举 然后注意这个字符不改的情况。 不要算改变数。 最后改完之后。 只 阅读全文
posted @ 2018-01-01 12:00 AWCXV 阅读(303) 评论(0) 推荐(0) 编辑
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 迭代加深搜索。 枚举最大量maxdep 在dfs里面传剩余的要凑的分子、分母 以及上一次枚举的值是多少。 然后找到最小的k,满足1/k剪枝就是剩余的全都用这个最大的分数。如果都不行就肯定不行了。 二分找这个k. 不能用的数字就直 阅读全文
posted @ 2017-12-31 22:08 AWCXV 阅读(186) 评论(0) 推荐(0) 编辑
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 先预处理出来一个正方形。 然后每次枚举新加的正方形左上角的坐标就可以。 注意覆盖的规则,控制一下就可以。 然后暴力判断是否相同。 暴力回溯即可(只用回溯一个正方形区域) 【代码】 cpp / 1.Shoud it use lon 阅读全文
posted @ 2017-12-31 17:28 AWCXV 阅读(154) 评论(0) 推荐(0) 编辑
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 一定在这里写完思路再敲代码!!! 处理出5个工作单元在哪些时刻会被用到。 设为initstatu 因为每次都会面临之前已经用了一段程序,而现在要走下一步的情况 但有一些地方是肯定已经不能走了的。 我们可以预处理出来哪些地方是可以 阅读全文
posted @ 2017-12-26 17:14 AWCXV 阅读(179) 评论(0) 推荐(0) 编辑
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 二进制枚举要解开哪些环。 把所有和它相关的边都删掉。 对于剩下的联通分量。 看看是不是每一个联通分量都是一条链 每个点的度数都不大于2 不是环。 同时剩余的联通分量的个数x 解开的环的个数y y =x 1才行 满足以上条件即可 阅读全文
posted @ 2017-12-26 13:41 AWCXV 阅读(162) 评论(0) 推荐(0) 编辑
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 每次搜素要往下还是要往右摆。 然后维护一下让每个下标只出现一次就可以了。 = 作为剪枝条件 【代码】 cpp / 1.Shoud it use long long ? 2.Have you ever test several s 阅读全文
posted @ 2017-12-25 18:53 AWCXV 阅读(190) 评论(0) 推荐(0) 编辑
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 暴力枚举每次走哪里就好。 用一个二维数组来判重。(数据里,要求不能经过一个点两次 但路径可以相交 然后再用一个flag数组,来判断这个点能不能走。 【代码】 cpp / 1.Shoud it use long long ? 2. 阅读全文
posted @ 2017-12-21 11:26 AWCXV 阅读(187) 评论(0) 推荐(0) 编辑
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 预处理一下终点能到达哪些点。 暴力就好。 输出结果的时候,数字之间一个空格。。 【代码】 cpp / 1.Shoud it use long long ? 2.Have you ever test several sample( 阅读全文
posted @ 2017-12-19 17:27 AWCXV 阅读(210) 评论(0) 推荐(0) 编辑
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 先预处理出所有的正方形(长度为1,2...n的)所包含哪些边。 然后记录每个正方形的应有边长和实际边长(有些边被删掉了); 然后搜的时候,每次找到第一个还是完整的正方形。 枚举删掉它的哪一条边。 然后看看哪些正方形会受到影响。 阅读全文
posted @ 2017-12-19 16:16 AWCXV 阅读(228) 评论(0) 推荐(0) 编辑
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 借鉴网上的题解的。 思路是。 用"标准化"的思想。 确定基准点(0,0) 然后假设(0,0)是第一个连通块。 然后通过大小为1的连通块(0,0)得到所有大小为2的连通块。 然后得到所有大小为3的连通块。。 以此类推 这样可以避免 阅读全文
posted @ 2017-12-16 17:47 AWCXV 阅读(192) 评论(0) 推荐(0) 编辑
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 结论:每次只用新生成的数字就好了。 然后就是IDA 了。 迭代深搜+剪枝。 【代码】 cpp / 1.Shoud it use long long ? 2.Have you ever test several sample(at 阅读全文
posted @ 2017-12-14 20:20 AWCXV 阅读(200) 评论(0) 推荐(0) 编辑
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 1.N/s1 s1 v2的话。 可以想见,如果第二种物品的数量超过了s1的话,显然可以把它占的体积都用来买物品1,因为那样更优。 则我们第二种物品最多只要枚举到s1就可以了。 同理s2 v1 【代码】 cpp / 1.Shoud 阅读全文
posted @ 2017-12-14 11:40 AWCXV 阅读(168) 评论(0) 推荐(0) 编辑
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 迭代加深搜索。 每次抽动操作最多只会让中间那一块的区域离目标的“距离”减少1. 以这个作为剪枝。 枚举最大深度。 就能过了。 【代码】 cpp include include include include include us 阅读全文
posted @ 2017-12-14 11:01 AWCXV 阅读(150) 评论(0) 推荐(0) 编辑
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 迭代加深搜。 很容易想到,最多只要搜8层就可以得到答案了 最多8下肯定可以还原。 则枚举一下最大层数。然后做个深搜就好。 优化。 设0..n每个数字的后继不为a[i]+1的个数为cnt 则每次操作显然最多只能减少3个cnt.. 阅读全文
posted @ 2017-12-11 16:01 AWCXV 阅读(173) 评论(0) 推荐(0) 编辑
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 对于没有出现的,当成0节点就好。 所以总是认为有3个人需要走到各自的终点。 将平面图转成点边图。这样比较好枚举。 (二维变成一维,模拟的时候变量都少了一半啦) 然后每次按照要求模拟走一下就好。 (三重循环,枚举每一个人下一步走到 阅读全文
posted @ 2017-12-11 06:36 AWCXV 阅读(163) 评论(0) 推荐(0) 编辑
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 三维显然可以缩短为2维。 只要知道a,b瓶中的水量,c瓶中的水量减一下就能得到。 则设dis[a][b]表示a,b瓶中水量为a,b时,水量的移动量。 然后做一下二维的spfa. 最后枚举a,b得到对应答案就好。 【代码】 cpp 阅读全文
posted @ 2017-12-10 16:23 AWCXV 阅读(176) 评论(0) 推荐(0) 编辑
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 秤砣都是在叶子节点。 可以把它看成一个二叉树。 则我们每次只需要选择任意两个"节点",让他们组成一棵二叉树就可以了。 然后虚拟出来一个节点,代表这个子树的根节点。 每次维护一下每个子树的左子树最左端离树的中心距离以及最右端离树的 阅读全文
posted @ 2017-12-06 20:19 AWCXV 阅读(257) 评论(0) 推荐(0) 编辑
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 暴力做就好。 O(8! 26^2) 【代码】 cpp / 1.Shoud it use long long ? 2.Have you ever test several sample(at least therr) yourse 阅读全文
posted @ 2017-12-06 08:27 AWCXV 阅读(188) 评论(0) 推荐(0) 编辑

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