搜索
文章平均质量分 85
鬼沐冢
总会突然想起喵喵
展开
-
HDU - 1043(康拓展开+BFS)
链接:HDU - 1043 题意:九宫格还原 题解:康拓展开+BFS #include using namespace std; const int maxn = 9; const int maxm = 370000; struct Node{int a[maxn], num, n;}; struct Path{int fa; char dir;}Fa[maxm]; int f[ma原创 2018-01-24 15:17:35 · 337 阅读 · 0 评论 -
HDU - 5527(DFS+贪心)
链接:HDU - 5527 题意:一共有{1,5,10,20,50,100,200,500,1000,2000}种类的硬币,给出每种硬币的个数,恰好凑出p,求硬币最多的个数。 题解:要求最多用多少个,就要先保证能凑出来,再用面值小的换掉面值大的。观察出来50和500以外,其它的面值一定可以用前面的任意一个换得,顾可直接从后往前遍历钱币,如果前面的钱币和大于所求值时,就不需要用当前面值的钱币了,原创 2018-01-25 16:36:44 · 232 阅读 · 0 评论 -
UVA - 11212(IDA*)
链接:UVA - 11212 题意:给出一个数字为1~n的某种排列,只能用剪切和粘贴操作,求将其变得有序的最小操作次数。 题解:用IDA*,枚举上界进行搜索,并找出剪枝所用的乐观函数h。此题的乐观函数为,g( ) #include using namespace std; const int maxn = 10; int n, a[maxn]; bool judge() {原创 2018-01-27 11:32:25 · 286 阅读 · 0 评论 -
第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛:B-合约数(DFS)
链接:第十六届上海大学程序设计联赛春季赛暨上海高校金马五校赛:B-合约数题意:给出一个树,树的节点编号1-N,每个节点有个val,定义F(i) = 节点i的子树的节点中的val是val[i]的合约数的个数(包括节点i)。合约数:若x是y的约数,且x是合数,则称x是y的合约数。求 对1e9+7取模后的结果。题解:DFS。直接遍历树,遍历时标记非合数节点的val的个数,然后逆求该节点对其祖先节点的贡献...原创 2018-04-17 17:37:21 · 260 阅读 · 0 评论 -
2018年华南理工大学程序设计竞赛:K-小马哥的超级盐水(折半查找)
链接:2018年华南理工大学程序设计竞赛:K-小马哥的超级盐水题意:小马哥有杯盐水,第杯有单位的盐和单位的水。小马哥很无聊,于是他想知道有多少种这杯盐水的非空子集,倒在一起之后盐和水的比是。题解:折半查找。maxn = 35,直接枚举肯定会TLE,折半后时间复杂度就够了。(A1 + A2) / (B1 + B2) = x / y; A1 * y - B1 * x = B2 * x - A2 * ...原创 2018-04-21 12:56:25 · 512 阅读 · 0 评论 -
CodeForces - 964D(DFA+贪心)
链接:CodeForces - 964D题意:给出一颗树,每次可以删除任意一个度数为偶数的节点,问是否可以将所有节点删完?题解:每次只能删度数为偶数的节点,故每次只能减少偶数条边,所以只有奇数点的树可以被删完。先用DFS扫一遍,将每个点的子树的节点数处理出来,然后跑DFS,先只跑偶数点的子树个数,跑到底,如果此点不可被删则返回FALSE,否则删除此点继续后继续往下跑。#include <bi...原创 2018-04-28 20:58:44 · 336 阅读 · 0 评论