雕刻时光

just do it……nothing impossible
随笔 - 547, 文章 - 0, 评论 - 82, 阅读 - 86万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

05 2011 档案

摘要:题意主要是寻找最长递增子序,每个元素有两个属性,H,W,下一个一定要比上一个的H,W大先排序,再类似最长递增子序的做法,两个for 语句注意点:就是每个元素H,W要比开始给定的大记忆路径的过程就是pre记录法+stack还原View Code #include<iostream>#include<algorithm>#include<stdio.h>#include<stack>using namespace std;struct data{ int no; int w; int h; int add; int pre;}ss[59];////i 阅读全文

posted @ 2011-05-22 19:55 huhuuu 阅读(294) 评论(0) 推荐(0) 编辑

摘要:题目的具体做法是参考刘汝佳的《算法艺术与信息学奥赛》,代码倒是自己实现的。大概思路是:1.找出初始状态和目标状态。明显,目标状态就是排序后的状态。2.画出置换群,在里面找循环。例如,数字是8 4 5 3 2 7明显,目标状态是2 3 4 5 7 8,能写为两个循环:(8 2 7)(4 3 5)。3.观察其中一个循环,明显地,要使交换代价最小,应该用循环里面最小的数字2,去与另外的两个数字,7与8交换。这样交换的代价是:sum - min + (len - 1) * min化简后为:sum + (len - 2) * min其中,sum为这个循环所有数字的和,len为长度,min为这个环里面最小 阅读全文

posted @ 2011-05-06 20:45 huhuuu 阅读(429) 评论(0) 推荐(0) 编辑

摘要:如何安排相片,使相片尽量能放入几个给定的箱子里(体积不同),但是条件是,每个箱子里的照片不能相邻:如第一张,第二张不能同时放到一个箱子里,而且第一张与最后一张也不能在一起!!!错了N久,解决方法就是尽量把不能最后放的箱子在前面用掉1.按每个箱子剩余容积排序放入第一张到一个箱子里2.每放入一张照片前,先拿第一张所放入的箱子号去放(为了使第一张与最后一张不能相邻),如不行则再按每个箱子剩余容积排序,选择符合的箱子去放http://codeforces.com/problemset/problem/81/DView Code #include<iostream>#include<c 阅读全文

posted @ 2011-05-05 15:47 huhuuu 阅读(304) 评论(0) 推荐(0) 编辑

摘要:a==ba>b时按: if(a.shu==b.shu) return a.no<b.no; return a.shu<b.shu; a<b时按: if(a.shu==b.shu) return a.no>b.no; return a.shu<b.shu; View Code #include<iostream>#include<cstdio>#include<algorithm>using namespace std;struct data{ int no; int shu;}qun[100009];bool hash[1 阅读全文

posted @ 2011-05-04 21:29 huhuuu 阅读(213) 评论(0) 推荐(0) 编辑

摘要:View Code #include<stdio.h>#include<math.h>__int64 gcd(int a,int b){ if(b==0)return a; else gcd(b,a%b);}int main(){ int c,n; while(scanf("%d%d",&c,&n),c&&n) { __int64 add=0; int i; for(i=1;i<=n;i++) { add+=(__int64)pow(c*1.0,gcd(n,i)*1.0); } if(n&1) //翻转的 阅读全文

posted @ 2011-05-03 22:35 huhuuu 阅读(301) 评论(0) 推荐(0) 编辑

摘要:注意点:class base{protected://抽象类成员变量要用protected,而用private子类明显不可以调用 double x;public: base(double a){x=a;} virtual void s()=0;//加个const就不对了 virtual void v()=0;};View Code #include<iostream>using namespace std;class base{protected: double x;public: base(double a){x=a;} virtual void s()=0;//加个const就 阅读全文

posted @ 2011-05-02 19:57 huhuuu 阅读(249) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示