2011年7月6日

sicily 1346. 金明的预算方案

摘要: //NOIP2006的题目,在转移的时候主件有四种转移方法:不加附件,加两附件,加附件一或加附件二#include<iostream> //分组背包问题#include<cstring>using namespace std;struct node{ int v,w;}table[62][10];int n,m,v[62],p[62],q[62],len[62],dp[40000];int main(){ while(cin>>n>>m) { for(int i=1;i<=m;++i) { cin>>v[i]>>p[ 阅读全文

posted @ 2011-07-06 22:53 sysu_mjc 阅读(271) 评论(0) 推荐(0) 编辑

poj 1166 The Clocks

摘要: 枚举+位运算//题意是有9个时钟,输入用0、1、2、3分别代表3、6、9、12点,有9种不同的操作,都是让某些时钟沿顺时针方向转90°。//问题是求最少的步骤使得所有时钟都指向12点//思路:让一个数表示9个钟面的状态,从小到大枚举操作步骤#include<iostream> //枚举+位运算#include<string>using namespace std;string Move[9]={"ABDE","ABC","BCEF","ADG","BDEFH", 阅读全文

posted @ 2011-07-06 15:57 sysu_mjc 阅读(315) 评论(0) 推荐(1) 编辑

sicily 1047. Super Snooker

摘要: #include <iostream> //因为有多个样例N ≤ 10000,所以对 连续数[low,high] 直接套用 0-1背包会TLE#include<stdio.h>using namespace std;int main() { int cases,a,b,low,high; cin>>cases; while(cases--) { cin>>a>>b>>low>>high; if(a>b) swap(a,b); //假定a<b int s=(low+high)*(high-low+1) 阅读全文

posted @ 2011-07-06 15:30 sysu_mjc 阅读(226) 评论(0) 推荐(0) 编辑

poj 2965 The Pilots Brothers' refrigerator

摘要: //参照 poj8 1753 Flip Game#include<iostream> //bfs+位运算 #include <stdio.h>#include <stack>using namespace std;const int mod=0x55555555; //mod=(0101 0101 0101 0101 0101 0101 0101 0101)十六进制,实际上是16,4*4个 01 int fac[4][4]={{1,4,16,64},{256,1024,4096,16384},{65536,262144,1048576,4194304},{1 阅读全文

posted @ 2011-07-06 11:11 sysu_mjc 阅读(152) 评论(0) 推荐(0) 编辑

2011年7月5日

sicily 1345. 能量项链

摘要: // 题意: 项链上有N颗能量珠,两颗珠子(m,r)与(r,n)聚合成一颗,释放的能量为m*r*n,// N颗珠子聚合成一颗,不同的聚合顺序得到的总能量是不同的,求出一串项链释放出的总能量的最大值// 当N=4, 分别为 (2,3) (3,5) (5,10) (10,2),则最大值是((4⊕1)⊕2)⊕3)=10*2*3+10*3*5+10*5*10=710#include<iostream> //DP#include<cstring>using namespace std;int n,num[210][2],dp[210][210];// dp[i][j]表示 i 条 阅读全文

posted @ 2011-07-05 20:55 sysu_mjc 阅读(561) 评论(0) 推荐(0) 编辑

sicily 1037. Decorations

摘要: /*题意: 给出一些长度相同的子串,目标串必须是由这些子串首尾连接起来,问有多少长度为L的目标串满足,比如:4 5 6ABB BCA BCD CAB CDD DDA则目标串有两个: BCABB 和 BCDDA定义连接 ch[i]->ch[j] , 只要满足 ch[i][1..len-1] = ch[j][0..len-2],即串i的后部分与串j的前部分重叠把每个输入的字符串当作顶点,字符串之间若可以连接则建立一条边,由此得到初始图,问题就转化成求 顶点数为 L-len+1 的路径 的总数*/#include<iostream> //DP#include<cstring& 阅读全文

posted @ 2011-07-05 12:20 sysu_mjc 阅读(213) 评论(0) 推荐(0) 编辑

sicily 1099. Packing Passengers

摘要: #include<iostream> //线性同余方程 Run Time: 0.15secs#include<cmath>#include<stdio.h>using namespace std;long long x,y,q;void extend_eulid(long long a,long long b) //扩展欧几里德定理, x*a+y*b=gcd(a,b)=q{ if(b==0) { x=1;y=0;q=a; } else { extend_eulid(b,a%... 阅读全文

posted @ 2011-07-05 03:24 sysu_mjc 阅读(326) 评论(0) 推荐(0) 编辑

sicily 1509. Rails

摘要: //与 poj 1363 rails 相同#include<iostream> #include<stack> using namespace std; int n,target[1001],temp; int main() { while(cin >> n&&n) { while(cin >> temp&&temp) { stack<int> s;//申请STL栈堆 int A = 1,B = 1;//A是有顺序的车厢号,B是栈堆指针 target[1] = temp; for(int i = 2;i 阅读全文

posted @ 2011-07-05 03:17 sysu_mjc 阅读(405) 评论(0) 推荐(0) 编辑

sicily 1738. Get Ready?

摘要: // Penalty是不用管的。。。#include<iostream>#include<algorithm>#include<functional>using namespace std;struct node{ int id,s; bool operator>(const node& o)const { return s>o.s; }}ans[1000000];int main(){ int cases,n,t,s,p; cin>>cases; while(cases--) { cin>>n; for(int 阅读全文

posted @ 2011-07-05 03:09 sysu_mjc 阅读(104) 评论(0) 推荐(0) 编辑

sicily 1231. The Embarrassed Cryptography

摘要: //poj6 2635 The Embarrassed Cryptographer//题意: 给定4 ≤ K ≤ 10^100 和 2 ≤ L ≤ 10^6 ,问 K 是否存在小于L的素因数//由于这里K值很大,如果用普通的高精度来计算,那么将会TLE,//《全国信息学奥林匹克联赛培训教程<二>》中介绍了一种方法来改善高精度运算的效率:扩大进制数.//用整数数组每一个元素表示一个十进制整数的方法存在的缺点是:如果十进制的位数很多,则对应的数组的长度会很长,并增加了高精度计算的时间。//理论上来说,高精度运算所用的数组中的每个数表示的数字越多,数组的长度就越小,程序运行的时间也就越短 阅读全文

posted @ 2011-07-05 03:02 sysu_mjc 阅读(297) 评论(0) 推荐(0) 编辑

导航