随笔分类 - ACM相关-HDU
acm.hdu.edu.cn
摘要:Problem A 题意 一对兔子每月生一对兔子,兔子在$m$月后成熟,问$d$月后有多少兔子 分析 可以发现,第i月的兔子数量取决于第i 1月与i m月,故 $a[i]=a[i 1]+a[i m],a[0]=1$ 然后还需要高精度(捂脸),于是找了个高精度板子就好了 Problem D 题意 给出
阅读全文
摘要:"传送门" 题意 给出n种植物的适宜培育温度区间[l,r],低于下限获值c,高于上限获值b,其他获值a 分析 首先考虑应该尝试选择哪些点:区间的左右端点、与区间左右端点距离0.50.5的点,这样就一定可以包括所有情况。 为了方便处理与区间左右端点距离0.50的点,只要将所有坐标扩大一倍,然后这些点就
阅读全文
摘要:题目链接:dingyeye loves stone 题意:给出一棵树,树上的每个节点都有石子若干, 两人博弈,每次操作都可以把任意节点的任意石子数转移到它的父亲节点, 若无法操作则输,给出树上的节点及石子数,问先手是否能赢 分析:“阶梯博弈”,若深度为偶数的节点,对方移多少石子,我们就移多少。故偶数
阅读全文
摘要:题目链接:Recursive sequence 题意:给出n头母牛,第一头报a,第二头报b,第i头报f[i-2]*2+f[i-1]+i^4,问第n头母牛报数多少 分析:N,a,b<2^31,果断矩阵快速幂,关键是要推出公式,公式如下,仅作参考 1 0 0 0 0 0 0 1 1 1 1 0 0 0
阅读全文
摘要:题目链接 题意: 给出n个字符串,接下来m天,每天每个字符串要增加对应的值,询问“memory”每天的排名 分析: 用hash表hash出每个字符串对应得值,然后放入二维数组(防止地址冲突),m天,输入字符串,查找并处理,最后用一个数组记录每次得值 代码: #include<cstdio> #inc
阅读全文
摘要:传送门:BestCoder Round #88 分析: A题统计字符串中连续字串全为q的个数,预处理以下或加个cnt就好了; 代码: 1 #include <cstdio> 2 #include <cstring> 3 #include <cstdlib> 4 #include <ctime> 5
阅读全文
摘要:题目链接: Function 分析: icpccamp里的方法不会,我用了一个nex[]数组存储当前点ai需要取模的下一个点aj的编号j,如果aj>ai,就不用遍历。 时间为920ms 代码: 1 #include<cstdio> 2 #include<cstring> 3 #include<alg
阅读全文
摘要:题目链接: Friends and Enemies 分析: 是一道想法题,我们假设x个人互相敌对,然后有y个人与这x个人都是朋友,而这y个人互相敌对。 则有 x+y=m x*y<=n 举个例子: x为3,y为3 x为123,456,789 而y为147,258,369 感觉比较巧妙 代码: 1 #i
阅读全文
摘要:题目链接; Football Games 分析: 先将分数排序,然后 代码: 1 #include <cstdio> 2 #include <cstring> 3 #include <cstdlib> 4 #include <ctime> 5 #include <cmath> 6 #include
阅读全文
摘要:题目链接:Fast Food 题意:一条直线上有n个饭店,问建造k个原料厂(仍旧在商店位置)得到的最小距离 分析:见代码 //一条直线上有n个饭店,问建造k个原料厂(仍旧在商店位置)得到的最小距离 //首先预处理从i到j的最小距离,可以知道选的点必为(i+j)/2,所以用dis[i][j]记录距离
阅读全文
摘要:题目链接:反恐训练营 题意:本质上是求最大公共子序列,然后加上一个权值 分析:见代码 //公共子序列问题 //dp[i][j]表示前s1的前i个与s的前j个匹配得到的最大公共子序列 #include<cstdio> #include<cstring> #include<algorithm> usin
阅读全文
摘要:题目链接:Max Sum Plus Plus Plus 题意:在n个数中取m段数使得这m段数之和最大,段与段之间不能重叠 分析:见代码 //dp[i][j]表示前i个数取了j段的最大值 //状态转移:dp[i][j]=max(dp[k][j-1]+(sum[k+l[j]-sum[k]或者sum[i]
阅读全文
摘要:题目链接:HDU5806 题意:找出有多少个区间中第k大数不小于m. 分析:用尺取法可以搞定,CF以前有一道类似的题目. 1 #include<cstdio> 2 using namespace std; 3 typedef long long ll; 4 #define d\n I64d\n 5
阅读全文
摘要:01.A boring Question 题意:求题目中给的公式的值,具体见题目。 分析:一开始是不会做的,后来打了一下表,可以观察出规律 a(n+1)=an*m+1.可得到公式(m^(n+1)-1)/(m-1),所以两次快速幂一次求幂一次求逆元就好了,记得取模。有不足的请指正。 03.A simp
阅读全文
摘要:5783.Divide the Sequence 题意:给出一段序列,尽可能多得分割序列使得每段前缀和非负。 分析:既然前缀和非负,那么从后往前遍历,若非负则++。 5791.Two 题意:给出两个数字序列,求两个序列的公共子序列的个数(可重复) 分析:可dp,可用树状数组做。 先给出dp方程,再解
阅读全文
摘要:sum Accepts: 640 Submissions: 1744 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) sum Accepts: 640 Submissions: 17
阅读全文
摘要:题意: 给出t组测试数据,每组给出正整数n表示有n种字符,接下来给出n个数表示该种字符的数目,操作一下,使得可以构造的最小回文串字符数目最大且输出。 分析: 如果每个字符出现次数都是偶数, 那么答案显然就是所有数的和. 对于奇数部分, 显然需要把其他字符均匀分配给这写奇数字符. 随便计算下就好了。
阅读全文
摘要:题意: 给出n和m,表示n个数,之后会给出m个下标xi和值yi,a[xi]=yi,n个数是不下降的,且总和>0,要使得(x1+x2)/∑(xi)最大。 分析: 尽可能使得前两个数最大,其他数尽可能小即可。 代码:
阅读全文
摘要:题意: 给出n个数xi,确定一个值α,使得Σ(xi-α)^2的值最小。 分析: 可以猜想是方差,不懂得可以去方差了解一下。 那么α即为∑(xi)/n,然后要注意的是转化为分数,首先我们不能用小数转分数做(double精度会丢失,你可以尝试一下),然后就想到将式子同分母,再求分子分母的gcd,最后分子
阅读全文
摘要:题意: 给出n次翻转和m张牌,牌相同且一开始背面向上,输入n个数xi,表示xi张牌翻转,问最后得到的牌的情况的总数。 思路: 首先我们可以假设一开始牌背面状态为0,正面则为1,最后即是求ΣC(m,k),k为所有能取到1的情况。首先我们要确认最后1的奇偶性。因为一次翻转0->1,或者1->0,则最后所
阅读全文

浙公网安备 33010602011771号