--------搜索--------
文章平均质量分 64
Faithfully__xly
这个作者很懒,什么都没留下…
展开
-
1025 - 搜索优化之迭代加深 - 埃及分数
埃及分数描述任何一个分数都能才成若干个单位分数(形如1/a的, a是自然数)的和。对于一个分数a/b,表示方法有很多种,但是哪种最好呢?首先,加数少的比加数多的好,其次,加数个数相同的,最小的分数越大越好,如果还是相同,那么第二小的分数越大越好,依次类推下去。例如对于19/45,下列方法都是合法的19/45=1/3 + 1/12 + 1/18019/45=1/3 + 1/15 + 1...原创 2018-10-25 14:46:45 · 194 阅读 · 0 评论 -
NOIP2017提高组DAY2T2 - 宝藏
传送门Chating说实话,NOIP的暴力分都挺好拿的比如这道题,前40%的数据,随便乱搞都可以拿到手(毕竟nnn如此之小)然后思考一下正解,感觉可以状压,但是并不知道怎么搞。。后来手贱翻了题解,暴击++++很很(hao)简(li)单(jie)的状压啊打算练习一下状压(但是ldw老师说这个dp嘛,练了提升也不大。。我有点方)Analysis可以枚举起点i,设立数组dp[S]表...原创 2018-11-04 17:49:13 · 157 阅读 · 0 评论 -
dfs之超级大剪枝 - 小木棍(luogu 1120)
题目描述乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50。现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度。给出每段小木棍的长度,编程帮他找出原始木棍的最小可能长度。输入格式:共二行。第一行为一个单独的整数N表示砍过以后的小木棍的总数,其中N≤65N≤65(管理员注:要把超过5050的长度自觉过滤掉,坑了很多人了!)第二...原创 2018-11-01 19:38:31 · 166 阅读 · 0 评论 -
迭代加深 - 递增数列
递增数列描述依次给你一个递增的数列,第一次给你1,第二次开始,每次给的数字是之前某两次和。告诉你一个数字M,表示第n次给你的数字,求最小的n,同时打印出这n个数的数列,有多组解输出任意输入一行,只有一个整数m输出第一行输出n。第二行输出数列,每两个数之间有且仅有一个空格。样例输入4样例输出31 2 4提示本次是数字4。第一次1,第二次2,第三次(当前)4 。测试点编号M...原创 2018-11-01 18:48:43 · 570 阅读 · 0 评论 -
折半搜索 - 某种密码
某种密码描述关于某种密码有如下描述:某种密码的原文A是由N个数字组成,而密文B是一个长度为N的01数串,原文和密文的关联在于一个钥匙码KEY。若KEY=∑(Ai∗Bi)KEY=∑(Ai∗Bi),则密文就是原文的一组合法密码。现在有原文和钥匙码,请编一个程序来帮助他统计到底有多少个符合条件的密文。输入第一行两个数N,KEY,意义同题目描述;第二行N个数表示原文A,意义同题目描述。输出...原创 2018-11-01 18:34:24 · 248 阅读 · 0 评论 -
容斥原理+dfs剪枝 - ost数(WOJ 2592)
cost数描述“给你一个有n个正整数的数列{an}。一个正整数x若满足在数列{an}中存在一个正整数ai,使x≡17(mod ai),那么x就是一个‘cost数’。请问1到m的正整数中,有多少个‘cost数’?”输入第一行两个正整数n和m,意义见问题描述。第二行n个正整数,分别为数列{an}中的n个数。输出输出一个整数,表示1到m中“cost数”的个数。样例输入3 10018 ...原创 2018-11-01 18:13:21 · 153 阅读 · 0 评论 -
1026 - A*算法 - 八数码
八数码描述现将1~8这八个自然数填入方格中,给定一个初始状态,例如为:281463750,其中空方格用数字0表示。现允许移动空格,但每次只能移动1格。试编一程序完成对于任意给定的一个目标状态,如:123804765,能够以最少步数实现从初始状态到目标状态的转换。方向优先:(左,上,下,右)输入两行,每行9个数,保证里面有0 第一行表示起始状态 第二行表示目标状态输出若干个组 3行为一组...原创 2018-10-26 13:03:36 · 2574 阅读 · 0 评论 -
1028 - 搜索IDA*算法 - Flood it(HDU 4127)
传送门AnalysisIDA*算法可以发现如果当前矩阵中除了左上角的连通块之外,共有M种颜色,那么还需要的步数不小于M。如果当前搜索深度+估价函数的值>深度限制,可以剪枝。• 每次寻找左上角的格子所在的连通块耗费的时间常数巨大,可以在这里寻求突破。我们引入一个N*N的v数组。左上角的格子所在的连通块里的格子标记为1。左上角连通块周围一圈格子标记为2,其它格子标记为0。如果某...原创 2018-10-28 22:42:47 · 125 阅读 · 0 评论 -
1028 - 启发式搜索 - 骑士精神(BZOJ 1085)
传送门Share开心开心,自己写出来的一道IDA*(虽然确实很板子,但还是很开心的)具体的思路及想法和八数码简直一模一样,那就随便选一种写法写咯~~~我就不再赘述啦TIPS需要小小的注意一下,这个骑士啊,是可以走八个方向的(最开始写的4个,老是过不了样例)Code#include<bits/stdc++.h>using namespace std;int T,k,f...原创 2018-10-28 17:11:53 · 150 阅读 · 0 评论 -
1028 - 搜索(3种写法) - 八数码难题(luogu P1379)
传送门Analysis介绍三种版本的搜索,都蛮好用的TYPE 1 双向Bfs通常情况下,当我们明确了初始状态和目标状态的时候双向Bfs的效率就会远高于单向Bfs而这道题就恰好很适用我们从初末状态同时往前Bfs,如果有一个状态它的下一个状态是被末状态搜索过(或初状态,总之这两个是被不同方向Bfs到的),那么这两个状态就是连接初末的纽带我们的答案也就出来了(由于是Bfs(广搜),我们...原创 2018-10-28 11:08:50 · 186 阅读 · 0 评论 -
1025 - K短路(A*算法) - 魔法猪学院(SDOI 2010)
魔法猪学院(magic)描述iPig在假期来到了传说中的魔法猪学院,开始为期两个月的魔法猪训练。经过了一周理论知识和一周基本魔法的学习之后,iPig对猪世界的世界本原有了很多的了解:众所周知,世界是由元素构成的;元素与元素之间可以互相转换;能量守恒……。能量守恒……iPig 今天就在进行一个麻烦的测验。iPig 在之前的学习中已经知道了很多种元素,并学会了可以转化这些元素的魔法,每种魔法需要...原创 2018-10-25 15:03:23 · 216 阅读 · 0 评论 -
Dfs - atlarge
atlarge描述给定一个迷宫,构成一棵有根树,你开始在根节点,出口是每个叶子节点,L可以在每个出口放一个守卫,每1个单位时间内,你和守卫都可以移动到相邻的一个点,如果某一时刻 守卫与你相遇了(在边上或点上均算),则你将被抓住。问为了保证抓住你,L最少需要几个守卫。输入第1行包含2个用空格分开的正整数n、K,表示有n个节点,K表示根节点编号接下来n-1行,每行2个整数u,v,表示u到v有...原创 2019-01-27 13:13:08 · 102 阅读 · 0 评论