第二届腾讯编程马拉松初赛第一场。。hdu4505 hdu4506 hdu4507 hdu4508 hdu4509(未完,4507)
2013-03-22 16:41
417 查看
//1001
点击打开链接
//刚开始人全部上在电梯上。。要排下序。。。
//1002
点击打开链接
这道题学了:个东西::快速幂取余
//1003
//1004
是完全背包..
背包不一定要装满!!.
//1005
线段树的题。但是可以不用模版。。。。
12:00-12:01只标记12:00,代表第12*60分钟被使用..
点击打开链接
点击打开链接
//刚开始人全部上在电梯上。。要排下序。。。
#include"stdio.h" #include"stdlib.h" struct node { int x; }a[101]; int cmp(const void*a,const void*b) { return (*(struct node*)a).x-(*(struct node*)b).x; } int main() { int ans,t,n,b,i; scanf("%d",&t); while(t--) { scanf("%d",&n); for(i=0;i<n;i++) scanf("%d",&a[i].x); qsort(a,n,sizeof(a[0]),cmp); b=0;ans=0; for(i=0;i<n;i++) { if(a[i].x==b)ans++; else if(a[i].x>b)ans+=(a[i].x-b)*6+5+1; else ans+=(b-a[i].x)*4+5+1; b=a[i].x; } ans+=b*4; printf("%d\n",ans); } return 0; }
//1002
点击打开链接
这道题学了:个东西::快速幂取余
#include"stdio.h" __int64 fun(__int64 a,__int64 b,__int64 c)//a的b次方对c求余 { __int64 ans=1; a%=c; while(b>0) { if(b%2==1)ans=(ans*a)%c; b/=2; a=(a*a)%c; } return ans; } int main() { int n,i,T,b[10001]; __int64 t,k,a[10001],ans[10001]; scanf("%d",&T); while(T--) { scanf("%d%I64d%I64d",&n,&t,&k); for(i=0;i<n;i++) scanf("%I64d",&a[i]); k=fun(k,t,1000000007);//计算k的t次方对1000000007求余 if(k==0)k=1; t=t%n;//. for(i=0;i<n;i++) { b[i]=i-t;//b[i]表示a[i]经过t次运算后的下标 if(b[i]<0)b[i]+=n;//可能为负 ans[i]=(a[b[i]]*k)%1000000007; } for(i=0;i<n-1;i++) printf("%I64d ",ans[i]); printf("%I64d\n",ans[i]); } return 0; }
//1003
//1004
是完全背包..
背包不一定要装满!!.
#include"stdio.h" #include"string.h" #define max(x,y) x>y?x:y; int dp[100001]; int main() { int n,m,a[101],b[101]; int i,j; while(scanf("%d",&n)!=-1) { for(i=0;i<n;i++) scanf("%d%d",&a[i],&b[i]); scanf("%d",&m); memset(dp,0,sizeof(dp)); for(i=0;i<n;i++) { for(j=b[i];j<=m;j++)//不一定装满 { dp[j]=max(dp[j],dp[j-b[i]]+a[i]); } } printf("%d\n",dp[m]); } return 0; }
//1005
线段树的题。但是可以不用模版。。。。
12:00-12:01只标记12:00,代表第12*60分钟被使用..
点击打开链接
#include"stdio.h" #include"string.h" int mark[1441]; void fun(char str[]) { int a,b,c,d; a=(str[0]-'0')*10+str[1]-'0'; b=(str[3]-'0')*10+str[4]-'0'; c=(str[6]-'0')*10+str[7]-'0'; d=(str[9]-'0')*10+str[10]-'0'; a=a*60+b; b=c*60+d; for(;a<b;a++) mark[a]=1;//如果时间是12:00-12:01标记12:00;mark[i]表示第i分钟被占用.... } int main() { int n,i,sum; char str[12]; while(scanf("%d",&n)!=-1) { getchar(); memset(mark,0,sizeof(mark)); for(i=0;i<n;i++) { gets(str); fun(str); } sum=0; for(i=0;i<1440;i++) if(mark[i]==0)sum++; printf("%d\n",sum); } return 0; }
相关文章推荐
- 第二届腾讯编程马拉松初赛第一场。。hdu4505 hdu4506 hdu4507 hdu4508 hdu4509(未完,4507)
- 2013腾讯编程马拉松初赛第一场(3月21日) 解题报告 (HDU 4505 HDU4506 HDU4507 HDU4508 HDU4509)
- 腾讯第二届编程马拉松初赛第二场(hdu4505、hdu4506、hdu4508、hdu4509)
- 2013腾讯编程马拉松初赛第一场 (hdu4505、hdu4506、hdu4508、hdu4509)
- 2013腾讯编程马拉松初赛第1场(3月21)(HDU 4505 HDU4506 HDU4507 HDU4508 HDU4509)
- 2013腾讯马拉松初赛第一场(3.21)比赛(hdu4505、hdu4506、hdu4508、hdu4509)
- hdu4507恨7不成妻(数位dp) 2013腾讯编程马拉松初赛第一场
- 2013腾讯编程马拉松初赛第一场(3月21日) 湫湫系列故事——减肥记II ----线段树
- 腾讯第二届编程马拉松初赛3月21日晚第二题之小明系列故事——师兄帮帮忙
- 腾讯编程马拉松初赛第一场(2013.3.20)
- 2013腾讯编程马拉松初赛第一场(3月21日) 小Q系列故事——电梯里的爱情
- HDU 4508 湫湫系列故事——减肥记I (2013腾讯编程马拉松初赛第一场)
- HDU 4508 湫湫系列故事——减肥记I (2013腾讯编程马拉松初赛第一场)
- 2013腾讯编程马拉松初赛第一场(3月21日) 小明系列故事——师兄帮帮忙 !!快速幂取摸
- 2013腾讯编程马拉松初赛第一场(3月21日) 湫湫系列故事——减肥记II ----线段树
- HDU 4505 小Q系列故事——电梯里的爱情 2013腾讯编程马拉松初赛第一场第一题
- 2013腾讯编程马拉松初赛第一场(3月21日) 湫湫系列故事——减肥记II ----线段树
- 2013腾讯编程马拉松初赛第一场(3月21日)湫湫系列故事——减肥记II
- 2013腾讯编程马拉松初赛 20130320第一场1001 小Q系列故事——屌丝的逆袭 简单题
- 2013腾讯编程马拉松初赛第一场(3月21日)湫湫系列故事——减肥记I