雕刻时光

just do it……nothing impossible
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 50 下一页

2013年10月10日

摘要: 给予N*2个数字,改变其中的N个向上进位,N个向下进位,使最后得到得数与原来数的差的绝对值最小考虑小数点后面的数字,如果这些数都非零,则就是 abs(原数小数部分相加-1*n), 多一个0 则 min(abs(原数小数部分相加-1*n) ,abs(原数小数部分相加-1*(n-1)) )以此类推#includeint abs(int a){ if(a<0)return -a; else return a;}int Min(int a,int b){ if(a<b)return a; else return b;}int main(){ int n,i; whi... 阅读全文

posted @ 2013-10-10 16:02 huhuuu 阅读(229) 评论(0) 推荐(0) 编辑

2013年10月9日

摘要: 题意自己理解了,主要是两个队列维护,一个VIP队列,一个普通队列搜集了一些坑(有些坑转自别的网站用于广大同学的测试之用)普通人也有VIP的权益!!! 屌丝逆袭有木有!!!920:52:00 10 008:00:00 20 008:02:00 30 020:51:00 10 008:10:00 5 008:12:00 10 120:50:00 10 008:01:30 15 120:53:00 10 110 101 2 3 4 5 6 7 8 9 1008:00:00 08:00:00 008:01:30 08:01:30 008:02:00 08:02:00 008:10:00 08:10:0 阅读全文

posted @ 2013-10-09 21:52 huhuuu 阅读(1806) 评论(3) 推荐(0) 编辑

2013年10月8日

摘要: 骰子点数概率时间限制:1 秒内存限制:32 兆题目描述:把n个骰子扔在地上,所有骰子朝上一面的点数之和为S。输入n,打印出S的所有可能的值出现的概率。输入:输入包括一个整数N(136个结果保存到 2~12的范围内对于3骰子,则 6*(2~12)的结果,保存在3~18的范围,有重复计算,则dp,滚动数组优化空间Ps:原题数据有误,题主已经说明,下面一题可以提交#includedouble dp[3][6099],dp0[6099];int main(){ int i,n,j,k; while(scanf("%d",&n)!=EOF){ int n6=n*... 阅读全文

posted @ 2013-10-08 20:22 huhuuu 阅读(839) 评论(0) 推荐(0) 编辑

摘要: 题意:成员A与成员B通话 ,成员B与成员C通话,则 ABC即为一个团伙,一共有若干个团伙,每个团伙的人数大于2且相互通话时间超过一定值即为黑帮,每个黑帮伙里有一个BOSS,boss是与各个成员打电话最多的那一个,找出所有黑帮boss跟与之相应成员数,按字典序排列。分析:通话姓名是字符串,不好直接构图,离散化一下,在用并查集确定团伙,在查找黑帮与BOSS#include#include#include#include#include#includeusing namespace std;int bossLen[2099];int oneLen[2099];int Link[2099];int n 阅读全文

posted @ 2013-10-08 16:27 huhuuu 阅读(1327) 评论(0) 推荐(0) 编辑

2013年10月7日

摘要: 回文字符串时间限制:3000ms | 内存限制:65535KB难度:4描述所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba"。当然,我们给你的问题不会再简单到判断一个字符串是不是回文字符串。现在要求你,给你一个字符串,可在任意位置添加字符,最少再添加几个字符,可以使这个字符串成为回文字符串。输入第一行给出整数N(0#include#includeusing namespace std;char ss[5099];char ss2[5099];short dp[5099][5099];int max(int a,int b){ if(a> 阅读全文

posted @ 2013-10-07 17:13 huhuuu 阅读(1188) 评论(0) 推荐(0) 编辑

摘要: http://ac.jobdu.com/problem.php?pid=1544(1)RMQ算法#include int A[100099],d[100099][20];int n,m; int min(int a,int b){ return a int A[100099];int B[100099]; int main(){ int n,m; while(scanf("%d",&n)!=EOF){ int i,j; for(i=1;i<=n;i++){ scanf("%d",&A[i]); } ... 阅读全文

posted @ 2013-10-07 11:13 huhuuu 阅读(366) 评论(0) 推荐(0) 编辑

2013年10月5日

摘要: 面试中比较多会出序列有关的面试题,所以就总结下(1)一个长度N为的序列,求前K小的数 1.排序 N*log(N) 2.最大堆N*log(K) 3.有平均时间复杂度O(n)的算法,因为我们可以在O(n)的时间内找到未排序数组里面第k小的数的值,然后再遍历一下数组,把值小于等于第k小的全都输出(感谢huangnima)(2)有两个长度为N的有序序列A和B,在A和B中各任取一个数可以得到N^2个和,求这N^2个和中最小的N个。 1.比较直观的想法是将A与B的数字相加后排序,时间复杂度O(N*N*log(N*N)) 2.考虑到要求的是求最小的N个数字,所以从这里考虑优化,维护一个大小为N... 阅读全文

posted @ 2013-10-05 20:13 huhuuu 阅读(1576) 评论(6) 推荐(0) 编辑

摘要: http://pat.zju.edu.cn/contests/pat-a-practise/1043给予N个数字组成二叉搜索树,判断这个数列是否由先序遍历得出或是镜像先序遍历得出,若是则输出相应的后续遍历或是镜像后续遍历分析:镜像先序遍历其实就是 先访问祖先,再访问右子树,再左子树镜像后续遍历就是先访问右子树,再左子树,在祖先#includestruct tree{ int v; tree *left,*right;};int shu[1099];int pre[1099];int post[1099];int step;void bulid(tree* head,int v){ ... 阅读全文

posted @ 2013-10-05 11:27 huhuuu 阅读(285) 评论(0) 推荐(0) 编辑

2013年10月3日

摘要: http://ac.jobdu.com/problem.php?pid=1499给N个有开始结束的且有价格的项目 安排项目的顺序 使总价值最大将项目按结束时间排序,01背包 ,dp[i] 表示到第i个项目,最大的价值是多少j从后往前遍历,更新符合 条件的的dp[i]#include#include#includeusing namespace std;struct data{ int ll,rr; int v;}s[10999];int dp[10999];int cmp(data x,data y){ return x.rr=1;j--){ i... 阅读全文

posted @ 2013-10-03 22:06 huhuuu 阅读(243) 评论(0) 推荐(0) 编辑

摘要: 看了未知死亡的,是一部悲剧,鲁迅说过,悲剧就是把美好的事物毁灭。 男主角是幸运的,又是不幸的,不幸在于自己的挚爱被毁灭,幸运的是他只有15分钟的记忆,只要不刻意,记忆就会随风而逝。 对电影中的一个场景印象深刻,如果你失去记忆了,而这时有人拿着一个日记说是你以前的样子,而你选择这是你的记忆还是不去相信,重新开始。 阅读全文

posted @ 2013-10-03 20:55 huhuuu 阅读(281) 评论(1) 推荐(1) 编辑

上一页 1 ··· 18 19 20 21 22 23 24 25 26 ··· 50 下一页