上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 44 下一页
摘要: 第一个Java程序。。。神似去年打hello world的时候,虽然不知道敲的是啥,但是成功迈出第一步了。 1 package main; 2 3 /** 4 * 5 * @author cuizhe 6 */ 7 public class Main { 8 9 /**10 * @param args the command line arguments11 */12 public static void main(String[] args) {13 System.out.println("Hello,Java!");14 ... 阅读全文
posted @ 2012-09-06 15:54 Naix_x 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 题目链接和Vijos上的选课一模一样。。无奈效率700+,怎么这么慢啊。。。 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 struct node 5 { 6 int left,right; 7 }tree[301]; 8 int p[301],dp[301][301]; 9 int max(int a,int b)10 {11 return a > b? a:b;12 }13 void insert(int son,int father)14 {15 int t; 阅读全文
posted @ 2012-09-06 10:36 Naix_x 阅读(247) 评论(8) 推荐(0) 编辑
摘要: 题目链接和多校上的黄金矿工很类似,貌似这个还简单点,每个主件,最多有2个附件,讨论下就可以,当然也神似树形DP。自己做的时候SB了,边输入边处理了,想当然了,果断悲剧了,交了N次之后,发现把背包分组的会错误,最可恨的是不知道该怎么搞了,想快排的,结构体神马的,发现从0开始,后来写的会很麻烦。。受不了了,把以前的代码改改,先把根找到,然后枚举他的孩子。。。虽然效率低点,终于DEBUG好几个小时后,终于乱搞过了。。。代码能力弱爆了,不会乱搞啊。。。 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdli 阅读全文
posted @ 2012-09-05 20:10 Naix_x 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 题目链接从早上就开始写,开始一直徘徊在递归的死循环,递归部分竟然不知如何实现了,后来写了个很暴力方法。。。建树还是左孩子,右兄弟,这个题这样写反而不怎么方便(效率也低了?),在 所有儿子的和 和本身+孙子的和 取大,递归部分写的很麻烦,导致先是WA在第7组(看DISUSS知道了数据),某一个小地方敲错了,然后又挂在13组上了,又改了一个BUG,然后还是WA,原来是要注意负数情况。。。纠结不知道怎么改,乱搞了一下,改初始化 + 和0比较,终于过了。。。建树建的不好,导致写的很麻烦,效率也很搓。 1 #include <stdio.h> 2 #include <string.h& 阅读全文
posted @ 2012-09-05 16:14 Naix_x 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 题目链接参考题解做的,如果不是在树上,应该就是个普通的二维DP,前i门课选j门取得最大的分数,可是这个题每门课可能有先修课,所以建树,在树上进行递归。在和虎哥讨论了一下,如何建树,由于不是二叉树,所以每门课可能有多个孩子,本来想用邻接表的,但是好像很麻烦,递归起来不知怎么办,还有另一种方式就是左儿子右兄弟的方式,以前没用过,搜了下题解,这样建树状态转移就简单了,就和在URAL做的那个二叉树的树形DP差不多了。开始的时候也有另一种想法,先把各个点都给重新离散编上号,然后就可以转换为递推的形式了,不知是否可行。这个还是用静态的做法做的。。。第一这样建树,学习了。。。 1 #include < 阅读全文
posted @ 2012-09-04 14:57 Naix_x 阅读(546) 评论(0) 推荐(0) 编辑
摘要: 题目链接裸二维DP。数据量比较小,0ms水过。。 1 #include <stdio.h> 2 #include <string.h> 3 int dp[1001][101],p[1001]; 4 int main() 5 { 6 int i,j,n,t,a,b,k,u,max; 7 scanf("%d",&t); 8 while(t--) 9 {10 memset(dp,128,sizeof(dp));11 scanf("%d%d%d%d",&n,&a,&b,&k);12 for(i = 阅读全文
posted @ 2012-09-03 18:33 Naix_x 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 题目链接和HDU 2993一样,两个题都很纠结啊。这个题调了好几天。。。终于在多次WA终于AC了。各种错误,判断条件写错,dp数组的初始值。HDU那个题还要手写读入,890ms水过了。这个题放到图上很直观了,网上有各种解释。。。 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 #define N 500001 5 __int64 dp[N],que[N],p[N],sum[N]; 6 int i,m; 7 double slope(int x,int y) 8 { 9 re 阅读全文
posted @ 2012-09-03 16:00 Naix_x 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 题目链接算是斜率优化的经典题吧,公式好像挺好就能推出来,特别注意要long long,写写 居然还超时,托了一段时间,看了AC大神的题解,发现中间处理写搓了,计算的时候要记忆化,各种细节要注意,各种WA和TLE终于完成这个渣代码。。。还可以把求解时候再优化一下,这样1800+水过了。。。 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 #define N 1000001 5 #define eps 1e-9 6 long long p[N],que[N]; 7 long l 阅读全文
posted @ 2012-09-03 11:28 Naix_x 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 题目链接静静的想一想,就OK了,数据量很小。 1 #include <stdio.h> 2 #include <string.h> 3 int dp[31][31]; 4 int main() 5 { 6 int n,m,i,j; 7 scanf("%d%d",&n,&m); 8 dp[1][2] = 1;dp[1][n] = 1; 9 for(i = 2;i <= m;i ++)10 {11 for(j = 2;j <= n-1;j ++)12 {13 dp[i][j] = dp[i-1][j-1... 阅读全文
posted @ 2012-08-31 15:11 Naix_x 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 暑假集训终于结束了,2个月有很多的收获,学长们基本上把大体的算法都给通了一遍,当然只是粗略的讲了讲,不过对于我来说很多还是第一次接触。。。有些东西还是有人讲讲理解的比较好,暑假的学习效率也比较高,学到东西可以比较快的理解。 以前自学的效率确实有点低,暑假前懂点DP,懂点DFS,懂点最短路,懂点最小生成树,主要还是6月份,学的东西比较多,感觉大一下的前段时间都浪费了,直到省赛被虐了,才开始学各种算法。。。最后了,也快考试了,吐槽一下大一下课真多,幸好期末考试都给混过去了,感谢老师,感谢党。。。 暑假除了二分匹配,网络流,图论有些没讲,其他基本上都涉及了,东西其实还是挺多的,不过只是... 阅读全文
posted @ 2012-08-31 15:07 Naix_x 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 题目链接两个月前写的一个题,怎么搞怎么RE了,算法也知道,今天比赛又做,居然1Y。。。 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #define eps 1e-9 5 char str[5000001]; 6 int o[301]; 7 int main() 8 { 9 int i,j,n,st,len,max,num;10 while(scanf("%d%*c",&n)!=EOF)11 {12 memset(o,0,sizeof(o)); 阅读全文
posted @ 2012-08-29 18:44 Naix_x 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 题目链接这个题的状态转移什么的和题意比起来,根本不算什么。。。根本看不懂啊,昨天比赛大体看懂了,以为是每一年的都要保存其实是从第一个+开始保存每一年的电话。中间改了N多的BUG,终于在知道正确的题意后,改了最后一个BUG,AC了!!!题意:一个手机的电话记录太多了要删除以前的记录,+ 是必须要留下的,这个手机没法显示年份,所以要从月份啥的推断,从第一个+ 开始保存,并且可以通过电话的时间分辨出年份。有很多细节要注意,WA了N次啊。。。所以 dp[i] 上个电话是j,则 j的年份一定和i一样,或者在i的前一年并且j的时间>=i的时间,当然如果存在 + 的电话,j一定是+电话,如果没有则取小 阅读全文
posted @ 2012-08-29 10:47 Naix_x 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 题目链接今天下午队内测试赛的题,据宝哥说,TC上的500,我想了N久。。。开始理解题意都很费劲,这要去做TC,还不被虐成渣了。。。想清楚就了就很简单了,还好过了。。。有点贪心,但是感觉应该是这样。每一个柱子头部或者底部,到下一个的头部或者底部策略最优,这样就A了。。 1 #include <stdio.h> 2 #include <string.h> 3 #include <math.h> 4 int p[1001][3]; 5 double o[1001][3]; 6 double Max(double a,double b) 7 { 8 return a 阅读全文
posted @ 2012-08-27 19:25 Naix_x 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 题目链接纠结啊,几天找不到个可做的题,前几天刷了几个水题,第300个也是水题,终于300了,加油!写的太搓了。。。写的很暴力,不过数据量小,水过吧。。 1 #include <stdio.h> 2 #include <string.h> 3 #include <math.h> 4 #define N 100000000 5 int main() 6 { 7 char p[300]; 8 int dp[300],sum[300]; 9 int i,j,len,t,min;10 scanf("%d%*c",&t);11 while(t 阅读全文
posted @ 2012-08-27 09:21 Naix_x 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题目链接参考题解,解方程都解错。。和HDU3507 有点类似。其中还要运用换元,数学能力太弱了。 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 #define N 500001 5 long long dp[N],que[N],p[N],sum[N]; 6 int m; 7 double slope(int x,int y) 8 { 9 if(sum[x] == sum[y])10 {11 if(dp[x] > dp[y])12 return -1... 阅读全文
posted @ 2012-08-26 13:40 Naix_x 阅读(256) 评论(0) 推荐(0) 编辑
上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 44 下一页