LA 3882 And Then There Was One 递推
2015-09-10 12:46
309 查看
题目:https://icpcarchive.ecs.baylor.edu/external/38/3882.pdf
果然,还是经验不够,递推每次只进步一点就行了,
一开始想了半天,总是把走完一圈当作一步,然后思考及其复杂,无法承受。
看了题解,又思考了半天。
感觉不是那么简单的。完全看不懂答案的代码,自己写了个。
果然,还是经验不够,递推每次只进步一点就行了,
一开始想了半天,总是把走完一圈当作一步,然后思考及其复杂,无法承受。
看了题解,又思考了半天。
感觉不是那么简单的。完全看不懂答案的代码,自己写了个。
int n,m,k; int dp[maxn]; int main() { while(~scanf("%d%d%d",&n,&k,&m)&&(n||k||m))//先考虑都是从0开始删 { dp[1]=0; //dp[x]表示x个数(0到 x-1) 时最后一个被删除的数 for(int i=2;i<=n;i++) //对于x个数,我的递推是先把0删了,然后数k个数,就是第k个地方开始,作为 (x-1)情况的 0点。注意0在最开始已经删了。 { int tmp=k%(i-1) ? k%(i-1) :i-1; //确定起点 dp[i]=(tmp+dp[i-1])%i+ (tmp+dp[i-1] >=i?1:0); //递推,注意0在最开始已经删了。 } m--; printf("%d\n", (dp +m)%n +1 ); //从0开始 转换成 从m开始 } return 0; }
#include<cstdio> #include<string> #include<cstring> #include<iostream> #include<cmath> #include<algorithm> #include<climits> #include<queue> #include<vector> #include<map> #include<sstream> #include<set> #include<stack> #include<utility> #pragma comment(linker, "/STACK:102400000,102400000") #define PI 3.1415926535897932384626 #define eps 1e-10 #define sqr(x) ((x)*(x)) #define FOR0(i,n) for(int i=0 ;i<(n) ;i++) #define FOR1(i,n) for(int i=1 ;i<=(n) ;i++) #define FORD(i,n) for(int i=(n) ;i>=0 ;i--) #define lson num<<1,le,mid #define rson num<<1|1,mid+1,ri #define MID int mid=(le+ri)>>1 #define zero(x)((x>0? x:-x)<1e-15) #define mk make_pair #define _f first #define _s second using namespace std; //const int INF= ; typedef long long ll; //const ll inf =1000000000000000;//1e15; //ifstream fin("input.txt"); //ofstream fout("output.txt"); //fin.close(); //fout.close(); //freopen("a.in","r",stdin); //freopen("a.out","w",stdout); const int INF =0x3f3f3f3f; const int maxn= 10000+100 ; //const int maxm= ; //by yskysker123
相关文章推荐
- PowerDesigner修改设计图中文字的字体大小等样式
- ssm中关于basedao和baseMapper的区别
- Golang资源
- UI一揽子计划 1 (UIView UILabel)
- 什么导致了Context泄露:Handler&内部类
- I2C 不良
- Java HTTPS客户端如何处理证书
- 同余定理 专题
- malloc_stats---检查内存泄露的神器
- malloc_stats---检查内存泄露的神器
- malloc_stats---检查内存泄露的神器
- 如何区分cassandra里primary key,partition key,cluster key,clustering key
- iOS 如何在ARC下 使用MRC的类库
- Android项目中TabHost标签切换
- 使用SBT开发Akka第一个案例源码解析消息、main入口、MasterActor
- removeAll
- 使用CodeMaid自动程序排版[转]
- 百度云管家开始耍流氓了
- storm操作语句.docx
- EasyCodeScanner导入Xcode报错