题目 #include<cstdio> #include<algorithm> using namespace std; #define N 1005 int n, m, cnt; int a[N], b[N], dp[N]; //dp[i]表示到a[i]大的怪物都死最少要多少个spell int main() { scanf("%d%d", &n, &m); for(int i = 1; i <= n; i++) { scanf(&quo…
水题一个,代码挫了一下: 题意不好理解. 你去一个洞窟内探险,洞窟内有许多宝石,但都有魔法守护,你需要用魔法将它们打下来. 每个宝石都有自己的防御等级,当你的魔法超过它的防御等级时它就会被你打下来. 但是,当它被你打下来的时候,它会反弹你的魔法.如果反弹的魔法过强,你就会被自己的魔法杀死. 很不幸的是,你的魔法是群体性的,你不能选择攻击谁,只要防御等级低于你魔法水平的宝石都会被你打下来.并且每个都会反弹你的魔法. 你可以假设你的魔法水平无限大,但你躲避反弹的魔法的能力却并不是很强. 输入: 第一…
[codeforces 415D]Mashmokh and ACM 题意:美丽数列定义:对于数列中的每一个i都满足:arr[i+1]%arr[i]==0 输入n,k(1<=n,k<=2000),问满足[数列长度是k && 数列中每一个元素arr[i]在1~n之间 && 数列中元素可以重复]的数列有多少个?结果对10^9+7取余 解题思路:dp[i][j]表示长度是j,最后一位是i的种数 if(kk%i==0) dp[kk][j+1]+=dp[i][j] #inc…
虽然A掉了但是时间感人啊.... f( x, k ) 表示使用前 x 种填满容量为 k 的背包的方案数, g( x , k ) 表示使用后 x 种填满容量为 k 的背包的方案数. 丢了第 i 个, 要填满容量为 k 的背包 , 则 ans( i , k ) = ∑ f( i - 1, h ) * g( i + 1 , k - h ) ( 0 <= h <= k ) 这样就转化为经典的背包问题了 f( x , k ) = f( x - 1 , k ) + f( x - 1 , k - w( x…
[BZOJ1630/2023][Usaco2007 Demo]Ant Counting 题意:T中蚂蚁,一共A只,同种蚂蚁认为是相同的,有一群蚂蚁要出行,个数不少于S,不大于B,求总方案数 题解:DP,先列出朴素的方程,用f[i][j]表示前i种,出行j只的方案数,v[i]代表第i中蚂蚁的个数 f[i][j]=∑f[i-1][j-k] (0≤k≤min(j,v[i])) 也可以表示为 f[i][j]=∑f[i-1][k] (j-min(j,v[i])≤k≤j) 发现时间复杂度为均摊O(A^2),…
2323: [ZJOI2011]细胞 Description 2222年,人类在银河系外的某颗星球上发现了生命,并且携带了一个细胞回到了地球.经过反复研究,人类已经完全掌握了这类细胞的发展规律: 这种细胞最初的形态是“长条形”,一端是头,一端是尾,中间是躯干.细胞内部含有一列密码(你可以认为它是这种细胞的DNA).密码是一个长度为n的数字串,且仅含有1~9这9种数字,沿着细胞的躯干从头到尾排列着. 首先,细胞会经历一次分裂.细胞将沿躯干方向分裂成若干个球体,躯干将退化成丝状物,连接着相邻的球体.…
http://acm.timus.ru/problem.aspx?space=1&num=1519 调了好久啊.参考(抄)的iwtwiioi的题解. 如果想要题解,题解在<基于连通性状态压缩的动态规划问题>. 我肯定讲得不如题解清楚QAQ,所以还是不讲了(╯‵□′)╯︵┻━┻ 连通性状压得用bfs扩展同时hash表判重.为什么呢? 因为状态太多数组存不下,只能用hash表存有用的状态,没错就是这样!!! 感觉代码量比普通状压高了不少QAQ 这么复杂,还是典型例题→_→. 时间复杂度\(…
http://vjudge.net/problem/17662 loli蜜汁(面向高一)树形dp水题 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; struct nodeTreeDP { struct node {int nxt, to, w;} E[203]; int n, q, cnt, point[103], apple[103], left[103], ri…
题意:求给定字符矩阵中相同正方形矩阵的最大边长和这两个相同正方形的位置 第一次写字符串哈希,选两个不同的模数进行二维字符串哈希. 本来应该取模判断相等后再暴力扫矩阵来判断,但是我看到<Hash在信息学竞赛中的一类应用>中这么写道: 于是我还会再次判重吗?肯定不会!!! 于是这样写完后就调啊调,调出几个像没用unsigned long long这样的脑残错误后交上去就A了233 #include<cstdio> #include<cstring> #include<…
模板题,,,模板打错查了1h+QAQ #include<cmath> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N = 1000003; int t1[N], t2[N], c[N], f[N][30]; void st(int *x, int *y, int *sa, int n, int m) { int i; for(i =…