上一页 1 2 3 4 5 6 7 8 9 10 ··· 15 下一页
摘要: 链接:http://poj.org/problem?id=1037题意:有N条木板,长度不同,分别为1,2,……,N单位长度。现在要将这N条木板排成不在边缘的木板,两边相邻的木板要么都比它高,要么都比它低,成波浪形排列。现将这些排列按字典排序,即第一条木板较短的排前面,若第一条木板相同,则第二条木板相同的排前面,以此类推;最后,从1开始对排列方法编号。现输入木板条数N和编号C,要求按顺序输出这N条木板的长度(长度分别为1到N);思路:DP方程, 即 DP.down[i][l] 表示以 i 开始,长度为 l,并且初始初始状态是向下放置的(即第二个数小于第一个数),DP.up[i][][l] 同理 阅读全文
posted @ 2013-01-13 19:22 淡墨æ末央 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1822题意:一根长度为L厘米的木棍上有n只蚂蚁,每只蚂蚁要么朝左爬,要么朝右爬,速度为1厘米/秒。当两只蚂蚁相撞时,二者同时转向(转向时间忽略不计)。给出每只蚂蚁的初始位置和朝向,计算T秒之后每只蚂蚁的位置;思路:对于蚂蚁来说,如果把它们看成是没有区别的小点,那么只需独立计算出每只蚂蚁在T时刻的位置即可;比如,有3只蚂蚁,蚂蚁1=(1,R),蚂蚁2=(3,L),蚂蚁3=(4, 阅读全文
posted @ 2013-01-13 13:18 淡墨æ末央 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 问题求解策略 (General Problem Solving Techniques)例题 (Examples)例题 1UVa11292The Dragon of Loowater排序后用贪心法题解 例题 2UVa11729Commando War用贪心法求最优排列;用“相邻交换法”证明正确性题解例题 3UVa11300Spreading The Wealth用代数法进行数学推导;中位数题解 例题 4LA3708Graveyard推理;参考系题解 例题 5UVa10881Piotr's Ants等效变换;排序题解 例题 6LA2995Image is Everything三维坐标系;迭 阅读全文
posted @ 2013-01-12 13:12 淡墨æ末央 阅读(1314) 评论(1) 推荐(0) 编辑
摘要: 链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1709题意:在一个周长为10000的圆上等距分布着n个雕塑。现在又有m个新雕塑加入(位置可以随意放),希望所有n+m个雕塑在圆周上均匀分布。这就需要移动其中一些原有的雕塑。要求n个雕塑移动的总距离尽量小;思路:以其中一点为原点,把圆拉直, 初始坐标为1/n, 2/n, ~~(n-1)/n; 目标坐标为1/(n+m), 2/(n+m), ~~ (n+m-1)/( 阅读全文
posted @ 2013-01-12 13:10 淡墨æ末央 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 链接:http://poj.org/problem?id=1322题意:C 种不同颜色的巧克力,每种巧克力同样多,把巧克力一个一个拿到桌子上,当发现有相同颜色就全吃掉,求取出了 n 个后,还剩 m 个在桌子的概率;思路:典型的动态规划; 状态转移方程:dp[n][m]=dp[n-1][m-1]*p1+dp[n-1][m+1]*p2; p1=(c-m+1)/c,p2=(m+1)/c;可是时间复杂度为n*c = 1e8 ; 果断TLE; 后来在黑书上看到解题方法为生成函数, 去百度未果, 却看到犀利减枝 if(n>1000) n=1000+n%2 ;还有G++各种wa,换c++ 果断 ac, 阅读全文
posted @ 2013-01-11 22:00 淡墨æ末央 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2275思路原来金币数为a1,a2,`````an;最终的金币为这些数的平均值,设为Mxi表示i给i+1的金币个数a1+xn-x1=Ma2+x1-x2=Ma3+x2-x3=Ma4+x3-x4=M.......an+x(n-1)-xn=M利用后面n-1个等式,用x1表示 x2,x3,...xnx2=x1-(M-a2)x3=x1-(2*M-a2-a3);....结果就是求|x1|+ 阅读全文
posted @ 2013-01-11 21:47 淡墨æ末央 阅读(165) 评论(0) 推荐(0) 编辑
摘要: A :http://www.cnblogs.com/jian1573/archive/2013/01/11/2856980.htmlB: http://www.cnblogs.com/jian1573/archive/2013/01/11/2857003.htmlC: http://www.cnblogs.com/jian1573/archive/2013/01/08/2851862.htmlD: http://www.cnblogs.com/jian1573/archive/2013/01/08/2851931.htmlE: http://www.cnblogs.com/jian1573/a 阅读全文
posted @ 2013-01-11 20:33 淡墨æ末央 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 链接:http://acm.hdu.edu.cn/showproblem.php?pid=1695题意: 在1~a, 1~b中挑出(x,y)满足gcd(x,y) = k , 求(x,y) 的对数 , a,b<=10^5思路: gcd(x, y) == k 说明x,y都能被k整除. 问题就可以转化为了求1~a/k 和 1~b/k间互质对数的问题;我们让b>=a; 然后在[1....b/k]进行枚举,对于每一个i,我们只要在1...min(i-1,a)中找到与i互质数,记录个数,然后累加就得到结果了;当i<=a/k时,我们可以直接用欧拉函数计算出与i互质的个数;当i>a/k 阅读全文
posted @ 2013-01-11 20:27 淡墨æ末央 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 链接:http://acm.hdu.edu.cn/showproblem.php?pid=1787红果果的欧拉函数;View Code 1 #include <iostream> 2 using namespace std; 3 // x=p1^e1*p2^e2~~~pn^en 4 //phi(x)=(p1-1)*p1^(e1-1)*(p2-1)*p2^(e2-1)~~~(pn-1)*pn^(en-1) 5 int phi(int m) 6 { 7 int i,s=1; 8 for(i=2;i*i<=m;i++) { 9 if(... 阅读全文
posted @ 2013-01-11 20:07 淡墨æ末央 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 链接:http://poj.org/problem?id=2411View Code 1 #include<cstdio> 2 #include<string.h> 3 long long f[2][4100],a,b,n,m,k,j,p; 4 int main(){ 5 while(scanf("%d%d",&n,&m), n+m){ 6 if( (n*m)&1 ){ 7 puts( "0" ); 8 continue; 9 }10 memset(f,0,sizeof(f));11 ... 阅读全文
posted @ 2013-01-11 16:06 淡墨æ末央 阅读(125) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 15 下一页