05 2016 档案
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2955 题意:给一个概率p和n个银行,每个银行有一些钱和被抓的概率,问在满足被抓的概率在p以下,抢到的最多的钱是多少 题解:很裸的01背包,不过这里要换成钱的总量当作背包的容量,概率当作价值,维护一个最小
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5705 题意:给你一个时间和一个角度,问你下一个时针和分针形成给出的角度是什么时候 题解:我们可以将这个问题看成追及问题,考虑时针:每小时30°,每分钟1/2°,每秒1/120°,考虑分针:没分钟6°,每
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5707 题意:给你三个字符串 a,b,c,问你 c能否拆成a,b,a,b串的每一个字符在c中不能变 题解:当时打再现赛的时候没根据题目的特殊性而在哪xjb搜,艹,设dp[i][j]表示为c的前i个字符可由
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4734 题意:给你一个F(x)的定义,然后给你a,b,问你在0到b包括b有多少个数满足F(x)<=F(a) 题解:dp[i][j]为dp到第i位的和为j的方案 1 #include<cstdio> 2 #
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4507 题意:中文,不解释,注意的是求的是合法数字的平方和,即(a+b+c+……)^2 题解:数位DP,要维护三个值,cnt为合法的个数,sum为这cnt个合法个数的和,sqsum为这cnt个数的平方和d
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3709 题意:给你一个区间,让你找平衡数的个数 题解:设dp[i][j][k]为前i位以第j位为支撑点的力矩和为k的方案数,注意的是0,00,000这些也是平衡数,所以要减掉一个len长度 1 #incl
阅读全文
摘要:题目连接:hdu_3555_Bomb 题意:和2089一样,只是数据大了点,不过道理是一样的 1 #include<cstdio> 2 #include<cstring> 3 #define F(i,a,b) for(__int64 i=a;i<=b;i++) 4 5 __int64 t,n,dp[
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意:中文,不解释 题解:dp[i][j]表示当前第i位的前一个数为j,然后记忆化dfs,注意的是给的是一个区间,容斥完后要处理大的那个数 1 #include<cstdio> 2 #includ
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3652 题意:给你一个n,为比n小的能整除13并数字中有13的数有多少个 题解:记忆化搜索:记dp[i][j][k][l]为当前为第i位i+1位的数为j,余数为k,是否含有13的数的个数,然后搜索下去就得
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2871 题意:给你一段内存,让你操作1:Reset:重置所有内存 2:New x:申请一块X大小的内存,返回内存最左边的开头,3:free x:释放包含x单元的内存块 4:Get x:取第X块的内存首地址
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5620 题意:给你一个n长的钢管,要分的尽可能多,且任意三条不能构成三角形 题解:看hint就知道用递推来解 1 #include<cstdio> 2 #define F(i,a,b) for(int i
阅读全文
摘要:题目连接:http://codeforces.com/contest/676/problem/B 题意:给你一个N层的杯子堆成的金字塔,倒k个杯子的酒,问倒完后有多少个杯子的酒是满的 题解:由于数据不是很大,直接模拟就行了 1 #include<cstdio> 2 #include<cstring>
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1348 题意:让你求n个点的凸包,凸包离点的距离为l 题解:就凸包周长+一个半径为l的圆周长 1 #include<cstdio> 2 #include<cmath> 3 #include<algorit
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1392 题意:求凸包,不知道的百度 题解:模版题 1 #include<cstdio> 2 #include<cmath> 3 #include<algorithm> 4 using namespace
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1115 题意:给你N个点围成的一个多边形,让你求这个多边形的重心。 题解: 1 #include<cstdio> 2 3 struct node{int x,y;}a,b,c; 4 int t,n;dou
阅读全文
摘要:题目连接:http://codeforces.com/contest/676/problem/C 题意:一串字符串,最多改变k次,求最大的相同子串 题解:很明显直接尺取法 1 #include<cstdio> 2 #include<cstring> 3 #include<cmath> 4 #incl
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1558 题意:P为画线段,Q为询问当前这条线段所在的集合有多少线段 题解:如果两条线段有交点,那么就连接这两个集合 1 #include<cstdio> 2 #define FFC(i,a,b) for(
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3001 题意:给你N个点,M条边,每个点最多走两次,问走完N个点最短的路程为多少。 题解:注意这题有重边,因为最多走两次,所以要用3进制来压缩状态,处理一下就行 1 #include<cstdio> 2
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4529 题意:中文,不解释 题解:状压DP,dp[i][j][k][s]表示第i行当前用了j个骑士,i-1行的压缩状态为k,i行的压缩状态为j,然后用滚动数组优化了一下,注意如果不预处理不可存放位置会超时
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4539 题意:中文,不解释 题解:将每一行的状态压缩,然后进行DP,也可以用最大团做。这里我用的DP 1 #include<cstdio> 2 #include<cstring> 3 #define ma
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3182 题意:有n个汉堡,做每个汉堡需要消耗一定的能量,每个汉堡对应一定的价值,且只能做一次,并且做当前汉堡需要先做出列出的汉堡,求最大的价值 题解:状压DP 1 #include<cstdio> 2 #
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1074 题意:给你n个课程(n<=15)每个课程有限制的期限和完成该课程的时间,如果超出时间,每超一天扣一分,问完成全部课程,最少会扣多少分。 题解:典型的状压DP 1 #include<cstdio>
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5701 题意:不解释 1 #include<cstdio> 2 #define FFC(i,a,b) for(int i=a;i<=b;++i) 3 #define FFI(i,a,b) for(int
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5695 题意:中文题,不解释 题解:逆向拓扑字典序就行 1 #include<cstdio> 2 #include<string> 3 #include<set> 4 #include<vector> 5
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5690 题意: Problem Description F(x, m)F(x,m) 代表一个全是由数字xx组成的mm位数字。请计算,以下式子是否成立: F(x,m)\ mod\ k\ \equiv \ c
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2665 题意:给你一个区间,让你找这个区间第K大的数 题解:主席树模版题,也可以用划分树 1 #include<cstdio> 2 #include<vector> 3 #include<algorith
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3067 题意:中文,不解释 题解:一看就知道是要找规律的题,都是有循环节的,看代码。 1 #include <cstdio> 2 3 int main(){ 4 int i,a,n,sum,ans; 5
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4714 题意:给你N个点N-1条边,形成一个树,让你拆树,并连接成一个环,每拆一次,连接一次,消耗1,问最小消耗多少 题解:仔细分析,其实就是将每条边变成线段,以最优的方案拆,能拆就拆,其实只能算贪心,
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1709 题意:给你一些砝码,让你输出1—sum中不能称出的重量 题解:直接上母函数,在合并括号的时候有加有减,期中mu()为我自己写的模版,所以有点冗杂 1 #include<cstdio> 2 #inc
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4651 题意:给你一个数n,让你输出将n拆分的方案数。 题解:公式题,不解释,当模版记住就行 1 #include <cstdio> 2 #include <cstring> 3 #define LL l
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1520 题意:有N个人,N-1个人有自己的上司,每个人有一个快乐值,如果这个人参加了聚会,那么这个人的直接上司将不嫩参加,问最大的快乐值为多少 题解:入门的树形DP题,dp[i][0]表示第i个人不去,d
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1011 题意:有N个房间,房间的连通性为树形的,就是说你要占领子结点,必须要先占领 父结点,每个房间有第一定的价值,每个房间里面有敌人,每个士兵能消灭20个敌人,现在给你m个士兵,问你能获得的最大价值为多
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4828 题意:中文,不解释 题解:实际就是一个卡特兰递推: Catalan(n+1)= Catalan(n)*(4*n+2)/(n+2)(mod M),求的时候要用逆元,这里我用筛法求逆元,用空间换时间,
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2224 题意:双调欧几里德旅行商经典问题,找一条最短回路使得该路经过所有的点 题解:dp[i][j]=dp[i-1][j]+dis(i,i-1),dp[i][i-1]=Min(dp[i][i-1],dp[
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4824 题意:中文,不解释 题解:双调欧几里德旅行商问题,具体可看dp双调欧几里德旅行商,这里注意的是起点为0,0。 1 #include<cstdio> 2 #define FFC(i,a,b) for
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5680 题意: 问题描述 输入描述 输出描述 输入样例 输出样例 Hint 题解: 乍一看,还有点吓人,其实就是输出最大值 1 #include<cstdio> 2 int main(){ 3 int t
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5683 题意: 问题描述 输入描述 输出描述 输入样例 输出样例 Hint 题解:在BC的终测 我居然TLE了,不科学,唐老师放宽了时限,和我写法差不多,常数也差不多的都过了,然而我没过,很是不爽,然而在
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1429 题意:迷宫的加强版,迷宫里有钥匙和门,问在指定的时间下能否逃出 题解:用二进制位来记录是否有该门的钥匙,然后上BFS 1 #include<cstdio> 2 #include<queue> 3
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1254 题解:以箱子为主体,第一层BFS,然后用第二层BFS来判断人是否可以到达,这里细节比较多,要注意 1 #include<cstdio> 2 #include<queue> 3 #include<c
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1969 题意:看了老半天,就是有N个饼,要分给f+1个人,每个人只能一样多,不能拼凑,多余的丢弃,问每个人最多能分到多少 题解:将最大的那个饼拿来二分,然后无限逼近满足能分出f+1个相同大小的饼 ,的最大
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2446 题意:题面很大,有用的就那么几句,意思就是用自然数来堆它画的那个金字塔,比如第一个金字塔的第一个数为1,第二个金字塔的第一个数为2,第三个金字塔的第一个数为5……。 题解:可以打表,最多有381W
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2141 题意:叫你找三个数,使得这三个数的值为X,如果找得到就输出YES否则输出NO,注意两个32位数相加会爆int 1 #include<cstdio> 2 #include<algorithm> 3
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2899 题意:让你解方程 题解:对于只有一个凸或者没有凸的图像,可以直接上三分解决、 1 #include<cstdio> 2 #include<cmath> 3 double eps=1e-7; 4 i
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1728 题意:走迷宫,找最小的拐角 题解:对BFS有了新的理解,DFS+剪枝应该也能过,用BFS就要以拐角作为增量来搜,即以当前点为坐标,4个方向都搜一次,下一次出队,step就要加1 1 #includ
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1495 题意:不解释 题解:BFS模拟,不过要细心,把所有情况都列举出来,开一个数组记录状态,代码有点长,比较重复,尝试优化了一下,不过WA了 1 #include<cstdio> 2 #include<
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1253 题意:三维BFS,不解释 题解:DFS+剪枝会超时,裸BFS会超时,BFS+剪枝才能AC,有点伤,我以为数据会让DFS速度快一下,看来是我天真了 1 #include<cstdio> 2 #inc
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1181 题意:中文题,不解释 题解:直接DFS 1 #include<cstdio> 2 #include<cstring> 3 bool v[1000];int cnt=0,ok,i; 4 struct
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1072 题意:给你一个地图,让你在炸弹爆之前找到出口,最初炸弹设定为6,每走一格需要1,中途有地方能让炸弹的时间重置为6,找到出口的最短时间。 题解:直接上BFS,需要注意的是要另开一个数组来存当前位置的
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4826 题意:中文题,不解释 题解:dp搞,第一列只能从上往下走,所以先算出第一列的dp数组,然后开两个dp数组来算剩下列的从上往下和从下往上dp的值,最后取最大就是走到该单元格的最大值 1 #inclu
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4823 题意:中文题,很清楚,要注意的是乘起来会爆int 题解: 1 #include<cstdio> 2 int main(){ 3 long long t,n,m,v,k,ans,pre; 4 sca
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3063 题意:中文题,说的很清楚,不解释 题解:公式题,具体看代码 1 #include<stdio.h> 2 #include<string.h> 3 #define mod 4*9999 4 /* 5
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3062/ 题意:2-SAT的裸题 题解:直接上模版 1 #include<cstdio> 2 #include<cstring> 3 const int MAXN = 2020; 4 const int
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5677 题意:给你N个串,问能否选出小于K个回文字符串使得选出的字符串的长度之和为L。 题解:很容易想到求一下回文字符串的个数和长度,然后就背包处理一下,数据比较水,用了manacher和二进制背包加速,
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3294 题意:给你一个字符和一个字符串,第一个字符表示该字符代表a,然后让你求变换后的最长回文区间并输出(这里的回文长度要大于1) 题解:直接上马拉车,然后记录一下区间 1 #include<cstdio
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3068 题意:给你一个字符串,让你求最长的回文子串。 题解:数据量比较大,暴力O(n2)会超时,直接上马拉车,模版题。 1 #include<cstdio> 2 #include<cstring> 3 #
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2111 题意:给你n个物品的单位体积价值和体积,求装满容量v的背包的最大价值。 题解:乍一看还以为是背包问题,结果给的是单位体积的价值,一个简单的贪心就能水过 1 #include<cstdio> 2 #
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2110 题意:给你N个价值和数目,求方案数,很裸的母函数。 1 #include<cstdio> 2 int c1[4000],c2[4000],all,pi[110],mi[110],su,i,j,k;
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1513 题意:给你一个字符串,问你最少插入多少个字符使其为回文字符。 题解:将字符串倒着保存,然后求一下原串和该串的最长公共子序列,然后字符串长度剪LCS就是答案 1 #include<cstdio> 2
阅读全文
摘要:D2. Magic Powder - 2 time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output The term of this pro
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2227 题意:给你一个集合,让你求递增子序列有多少个,和树状数组求逆序对差不多,不过数据比较大,要离散化一下。 1 #include<cstdio> 2 #include<algorithm> 3 #de
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4046 题意:一大堆篇幅介绍,跳过直奔主题,让你寻找给定区间的“wbw”的个数。 题解:直接上树状数组,改变字符后对应改变3个值就行,注意的是询问 [l,r],应该对应输出的是[l+1,r]。因为sum[
阅读全文