QAQ我没读过书...四边形都不会判定了 简单的dp.... ------------------------------------------------------------------------------ #include<cstdio> #include<algorithm> #include<cstring> #include<iostream>   #define rep( i , n ) for( int i = 0 ; i <…
1600: [Usaco2008 Oct]建造栅栏 Time Limit: 5 Sec  Memory Limit: 64 MB Description 勤奋的Farmer John想要建造一个四面的栅栏来关住牛们.他有一块长为n(4<=n<=2500)的木板,他想把这块本板切成4块.这四块小木板可以是任何一个长度只要Farmer John能够把它们围成一个合理的四边形.他能够切出多少种不同的合理方案.注意: *只要大木板的切割点不同就当成是不同的方案(像全排列那样),不要担心另外的特殊情况,…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1600 题意: 给你一个长度为n的木板,让你把这个木板切割成四段(长度为整数),并且要求这四段可以构成一个四边形. 问你有多少种切割方法(切割点不同就算不同). 题解: 构成四边形的条件: 任意一边长度 < 周长/2 证明:设四边为a,b,c,d.因为有a < b+c+d,所以2*a < a+b+c+d = C,所以a < C/2. 简化问题: 给你n个小木块,排成一排.问你…
要求三边和大于第四边,所以任意一条边的长度都是小于n/2 设f[i][j]为前i条长为j,转移的时候用n/2限制 #include<iostream> #include<cstdio> using namespace std; int n,mx,f[5][2505]; int main() { f[0][0]=1; scanf("%d",&n); int mx=(n+1)/2-1; for(int i=1;i<=4;i++) for(int j=1…
http://www.lydsy.com/JudgeOnline/problem.php?id=1600 说好的今天开始刷水.. 本题一开始我以为是排列组合,但是自己弱想不出来,只想到了如果四边有一条边大于或等于第三边,那么这个四边形构造不出来. 即 a>=b+c+d时,不存在四边形 那么存在的情况就是a<b+c+d 得到 a<a+b+c+d 因为a<2a,a<b+c+d 所以a<(a+b+c+d)/2=n/2 那么我们就可以dp了. 只要找所有满足的边满足比长度的一半…
1600: [Usaco2008 Oct]建造栅栏 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 825  Solved: 473[Submit][Status] Description 勤奋的Farmer John想要建造一个四面的栅栏来关住牛们.他有一块长为n(4<=n<=2500)的木板,他想把这块本板切成4块.这四块小木板可以是任何一个长度只要Farmer John能够把它们围成一个合理的四边形.他能够切出多少种不同的合理方案.注意: *只…
Description 勤奋的Farmer John想要建造一个四面的栅栏来关住牛们.他有一块长为n(4<=n<=2500)的木板,他想把这块本板 切成4块.这四块小木板可以是任何一个长度只要Farmer John能够把它们围成一个合理的四边形.他能够切出多少 种不同的合理方案.注意: *只要大木板的切割点不同就当成是不同的方案(像全排列那样),不要担心另外的特 殊情况,go ahead. *栅栏的面积要大于0. *输出保证答案在longint范围内. *整块木板都要用完. Input *第一…
HDU 2829 区间DP & 前缀和优化 & 四边形不等式优化 n个节点n-1条线性边,炸掉M条边也就是分为m+1个区间 问你各个区间的总策略值最少的炸法 就题目本身而言,中规中矩的区间DP问题 d p[i][j]表示前i个节点,分为j个区间的最优策略值 cost[i][j]为从i到j节点的策略值 所以dp[i][j] = min(dp[k-1][j-1] + cost[k][i] 但是复杂度太高了 可以优化的地方有: cost数组值得求取: 考虑到cost(i,j)=ΣAxAy (i≤…
[Codeforces712D] Memory and Scores(DP+前缀和优化)(不用单调队列) 题面 两个人玩游戏,共进行t轮,每人每轮从[-k,k]中选出一个数字,将其加到自己的总分中.已知两人的初始得分分别为a和b,求第一个人最后获胜的方案数.两种方案被认为是不同的,当且仅当存在其中一轮,其中一人选到的数字不同.a, b, t≤100,k≤1000 分析 两个人的操作是独立的,设\(dp1[i][j]\)表示第1个人玩i轮得到j分的方案数,第2个人同理 则有\(dp1[0][a]=…
Online Judge:从Topcoder搬过来,具体哪一题不清楚 Label:状压Dp+前缀和优化 题目描述 给定两个数A和N,形成一个长度为N+1的序列,(A,A+1,A+2,...,A+N-1,A+N). 每次操作可以把第i个数上的第x位数字删除,形成一个新的数字. 每个数字可以操作任意次,但不可以全部删完. 求有多少种方案,使得最后的序列中数字是单调不递减的. 两种方案是认为不同,如果第i个数的第x位在一个方案中被删除,在另一个方案中,没有被删除. Tip:注意一个数字不能所有位全部删…