codeforces 260 div2 virtual Participation
来源:互联网 发布:达内java资源 编辑:程序博客网 时间:2024/06/05 06:50
第二场VP,被第三题卡了,虽然挺早就找到方法了....但是最后wa我一脸的眼泪。D题似乎是NIM游戏,暑假集训的内容要好好看看了...不会写
嗯接下来是照例是前3题的题解
A. Laptops
#include <iostream>#include <stdio.h>#include <algorithm>using namespace std;typedef struct{ int price,q;}node;node lap[100010];bool cmp(node a,node b){ return a.price>b.price;}int main(){ int n,flag; flag=0; cin>>n; for(int i=0;i<n;i++){ scanf("%d%d",&lap[i].price,&lap[i].q); } sort(lap,lap+n,cmp); for(int i=1;i<n;i++){ if(lap[i-1].q<lap[i].q) {flag=1; break; } } if(flag){ printf("Happy Alex\n"); } else printf("Poor Alex\n"); return 0;}
B. Fedya and Maths
本以为是一个数论题,用数论知识当然也是比较好解决的,但是显然这个应该是循环数列,求一下循环节,发现循环节是 1 1 1 4,这样只要原数能被4整除就输出4,否则输出1,那么只要做一个高精度除以常数的除法就可以了
#include <iostream>#include <stdio.h>#include <string.h>using namespace std;char txt[100010];bool judge(){ int len,tmp,left,ca,j; bool ans; len=strlen(txt); ca=0; j=0; for(int i=0;i<len;i++){ tmp=(txt[i]-'0'+ca*10)/2; ca=(txt[i]-'0'+ca*10)%2; txt[i]=tmp+'0'; if(i==len-1&&ca==1) return false; } if(txt[0]=='0') j=1; ca=0; for(;j<len;j++){ tmp=(txt[j]-'0'+ca*10)/2; ca=(txt[j]-'0'+ca*10)%2; txt[j]=tmp+'0'; if(j==len-1&&ca==1) return false; } return true;}int main(){ gets(txt); if(judge()) printf("4\n"); else printf("0\n"); return 0;}C. Boredom
这题的大意就是,给你n个数,如果你选中了k,那么所有的k+1和k-1都从这些数中剔除,如何选择能使得到的数值最大。
这其实就是一个简单dp,状态转移方程为dp[i]=max(dp[i-1],dp[i-2]+i*times[i])
<span style="font-size:10px;">#include <iostream>#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;#define N 100010#define LL long longint num[N];LL dp[N];int main(){ memset(num,0,sizeof(num)); memset(dp,0,sizeof(dp)); int n,t; cin>>n; for(int i=0;i<n;i++){ scanf("%d",&t); num[t]++; } dp[1]=num[1]; dp[2]=num[2]*2; for(int i=2;i<N;i++){ dp[i]=max(dp[i-1],dp[i-2]+(LL)num[i]*i); } printf("%I64d\n",dp[100000]); return 0;}</span>
另外两道题单开
0 0
- codeforces 260 div2 virtual Participation
- codeforces 259 div2 virtual Participation
- codeforces 261 div2 virtual Participation
- Codeforces Round #401 (Div. 2) (Virtual participation) 总结
- HDOJ 5334 Virtual Participation
- HDU 5334 Virtual Participation
- hdu 5334 Virtual Participation 构造
- HDOJ 5534 Virtual Participation 构造
- Hdu 5334 Virtual Participation (构造)
- [构造] HDU 5334 Virtual Participation
- 解题报告 之 HDU5334 Virtual Participation
- 构造(Virtual Participation,HDU 5334)
- codeforces 260 div2 B题
- codeforces 260 div2 C题
- hdu5334 Virtual Participation 多校联合第四场
- hdu5334(2015多校4)--Virtual Participation(构造)
- codeforces 260 div2 A,B,C
- codeforces Round #260(div2) A解题报告
- 连接池
- 数据结构与算法--几种排序的实现(C++)
- mmap详解
- C#窗体程序设计滚动字幕
- 就房管局房管局分过节费
- codeforces 260 div2 virtual Participation
- 【 D3.js 选择集与数据详解 — 3 】 绑定数据的顺序
- 漫步IOS--指定比较器
- javaweb学习总结(四十一)——Apache的DBUtils框架学习
- 多维随机变量及其概率分布
- 学习笔记-JS公开课三
- Using Spring 4 WebSocket, sockJS and Stomp support to implement two way server client communication
- RBF核矩阵的实现
- UNIX网络编程中的描述字就绪条件