P1450 [HAOI2008]硬币购物 暴力做法:每次询问跑一遍多重背包。 考虑正解 其实每次跑多重背包都有一部分是被重复算的,浪费了大量时间 考虑先做一遍完全背包 算出$f[i]$表示买价值$i$东西的方案数 蓝后对每次询问价值$t$,减去不合法的方案 $c_1$超额方案$f[t-c_1*(d_ ...
分类:
其他好文 时间:
2019-04-27 13:32:03
阅读次数:
167
题面描述 在$xOy$直角坐标平面上有$n$条直线$L_1,L_2,...,L_n$,若在$y$值为正无穷大处往下看,能见到$L_i$的某个子线段,则称$L_i$为可见的,否则$L_i$为被覆盖的.例如,对于直线:$L_1:y=x; L_2:y= x; L_3:y=0$则$L_1$和$L_2$是可见 ...
分类:
其他好文 时间:
2019-04-20 10:02:39
阅读次数:
135
题目链接: "戳我" 要注意因为数可能会对应很多人,但是输出的时候要按照添加的顺序输出。所以我们不能将相同值的节点合并,用set维护。就算值相同也只能新开节点。 然后就没有什么了。。。懒得写哈希表。。直接上map了。。开了O2之后也不是很慢qwq 代码如下: cpp include include ...
分类:
其他好文 时间:
2019-02-23 11:03:41
阅读次数:
190
Description 某人有一套玩具,并想法给玩具命名。首先他选择WING四个字母中的任意一个字母作为玩具的基本名字。然后他会根据自己的喜好,将名字中任意一个字母用“WING”中任意两个字母代替,使得自己的名字能够扩充得很长。现在,他想请你猜猜某一个很长的名字,最初可能是由哪几个字母变形过来的。 ...
分类:
其他好文 时间:
2019-02-17 12:57:26
阅读次数:
174
Description 有n个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为1。 Input 第一行一个正整数nn using namespace std; define int long long void read(int &x) { x=0;int f ...
分类:
其他好文 时间:
2019-02-15 13:52:56
阅读次数:
161
Description 硬币购物一共有4种硬币。面值分别为c1,c2,c3,c4。某人去商店买东西,去了tot次。每次带di枚ci硬币,买s i的价值的东西。请问每次有多少种付款方法。 Input 第一行 c1,c2,c3,c4,tot 下面tot行 d1,d2,d3,d4,s,其中di,s usi ...
分类:
其他好文 时间:
2019-02-14 10:31:35
阅读次数:
182
并不知道省选考这种爆搜题有什么意义。。 正文部分: 观察题目中只有12个数,每个数只有0和1,明显所以状态的数量为$2^{12}=4096$,那岂不是爆搜随便做? 对于1个状态hash: 我们将现在这12位数打包成一个字符串,用$map$记录一下这个字符串是否出现过。 对于1个状态的unhash , ...
分类:
移动开发 时间:
2019-02-11 01:06:24
阅读次数:
192
"【题面】" 题目描述: 在一个4 4的方框内摆放了若干个相同的玩具,某人想将这些玩具重新摆放成为他心中理想的状态,规定移动时只能将玩具向上下左右四个方向移动,并且移动的位置不能有玩具,请你用最少的移动次数将初始的玩具状态移动到某人心中的目标状态。 输入输出格式: 输入格式: 前4行表示玩具的初始状 ...
分类:
移动开发 时间:
2019-02-04 22:09:19
阅读次数:
208
DP常用优化 一.前缀和优化 当遇到类似:$f[i] = \sum_{j = k}^{i} g[j]$的转移时,可以通过预处理出$g[i]$的前缀和$s[i]$,将$O(n)$的求和转换为$O(1)?$的操作。 "[HAOI2009]逆序对数列" "[HAOI2008]木棍分割" 二分答案+dp " ...
分类:
其他好文 时间:
2019-01-20 18:00:47
阅读次数:
379