A

  1. #include <iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<algorithm>
  5. #include<stdlib.h>
  6. #include<vector>
  7. #include<cmath>
  8. #include<queue>
  9. #include<set>
  10. using namespace std;
  11. #define N 100000
  12. #define LL long long
  13. #define INF 0xfffffff
  14. const double eps = 1e-;
  15. const double pi = acos(-1.0);
  16. const double inf = ~0u>>;
  17. int n,m;
  18. int main()
  19. {
  20. int n,m,i,j;
  21. cin>>n>>m;
  22. if(m>n)
  23. cout<<n<<endl;
  24. else
  25. {
  26. int o = ;
  27. while(n)
  28. {
  29. n--;
  30. o++;
  31. if(o%m==) n++;
  32. }
  33. cout<<o<<endl;
  34. }
  35. return ;
  36. }

B

枚举和值

  1. #include <iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<algorithm>
  5. #include<stdlib.h>
  6. #include<vector>
  7. #include<cmath>
  8. #include<queue>
  9. #include<set>
  10. using namespace std;
  11. #define N 100000
  12. #define LL long long
  13. #define INF 0xfffffff
  14. #define M 1000000000
  15. const double eps = 1e-;
  16. const double pi = acos(-1.0);
  17. const double inf = ~0u>>;
  18. int o[N];
  19. int judge(LL x)
  20. {
  21. int ans = ;
  22. while(x)
  23. {
  24. ans+=x%;
  25. x/=;
  26. }
  27. return ans;
  28. }
  29. int main()
  30. {
  31. int a,b,c,i,j;
  32. cin>>a>>b>>c;
  33. int g = ;
  34. for(i = ; i <= ; i++)
  35. {
  36. LL k = (LL)b*pow(i*1.0,a)+c;
  37. if(judge(k)==i&&k>&&k<M)
  38. o[++g] = k;
  39. }
  40. cout<<g<<endl;
  41. if(g)
  42. {
  43.  
  44. sort(o+,o+g+);
  45. for(i = ; i < g ; i ++)
  46. cout<<o[i]<<" ";
  47. cout<<o[i]<<endl;
  48. }
  49. return ;
  50. }

C

二分高度,之后用高度减去原有高度,就可以知道每株花被浇了多少水,用线段树维护一下就可以得到最少浇水的次数。

  1. #include <iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<algorithm>
  5. #include<stdlib.h>
  6. #include<vector>
  7. #include<cmath>
  8. #include<queue>
  9. #include<set>
  10. using namespace std;
  11. #define N 100010
  12. #define LL long long
  13. #define INF 0xfffffff
  14. #define M 1000200000
  15. const double eps = 1e-;
  16. const double pi = acos(-1.0);
  17. const double inf = ~0u>>;
  18. int a[N],o[N];
  19. LL s[N<<];
  20. int n,m,w;
  21. void build(int l,int r,int w)
  22. {
  23. s[w] = ;
  24. if(l==r)
  25. {
  26. s[w] = o[l];
  27. return ;
  28. }
  29. int m = (l+r)>>;
  30. build(l,m,w<<);
  31. build(m+,r,w<<|);
  32. }
  33. void down(int w,int m)
  34. {
  35. if(s[w])
  36. {
  37. s[w<<] += s[w];
  38. s[w<<|] += s[w];
  39. s[w] = ;
  40. }
  41. }
  42. void update(int a,int b,int d,int l,int r,int w)
  43. {
  44. if(a<=l&&b>=r)
  45. {
  46. s[w]+=d;
  47. return ;
  48. }
  49. down(w,r-l+);
  50. int m = (l+r)>>;
  51. if(a<=m) update(a,b,d,l,m,w<<);
  52. if(b>m) update(a,b,d,m+,r,w<<|);
  53. }
  54. LL query(int p,int l,int r,int w)
  55. {
  56. if(l==r)
  57. return s[w];
  58. down(w,r-l+);
  59. int m = (l+r)>>;
  60. if(p<=m) return query(p,l,m,w<<);
  61. else return query(p,m+,r,w<<|);
  62. }
  63. int cal(int k)
  64. {
  65. int i,j;
  66. for(i = ; i <= n; i++)
  67. if(k>a[i]) o[i] = k-a[i];
  68. else o[i] = ;
  69. build(,n,);
  70. LL num = ;
  71. for(i = ; i <= n; i++)
  72. {
  73. int pp = query(i,,n,);
  74.  
  75. if(pp>) {update(i,min(n,i+w-),-pp,,n,);num+=pp;} if(num>m) return ;
  76. }
  77. if(num<=m) return ;
  78. return ;
  79. }
  80. int main()
  81. {
  82. int i,j;
  83. cin>>n>>m>>w;
  84. for(i = ; i <= n; i++)
  85. scanf("%d",&a[i]);
  86. int low = ,high = M,mid;
  87. int ans = ;
  88. while(low<=high)
  89. {
  90. mid = (low+high)>>;
  91. if(cal(mid)==)
  92. high = mid-;
  93. else
  94. {
  95. low = mid+;
  96. ans = max(ans,mid);
  97. }
  98. }
  99. cout<<ans<<endl;
  100. return ;
  101. }

D

对于

k=1 ,ans = L。

连续偶奇异或是为1的 比如10 11    12 13等 ,而奇偶则是不一定的

k= 2, 如果l%2==0,ans = L^(L+1)=1 ,否则要根据R-L+1的取值决定

k= 4 ,如果L%2=0,ans = L^(L+1)^(L+2)^(L+3)  = 0,否则如果R-L+1>4 也是为偶奇偶奇=0的,若R-L+1=4 就可转化为3的时候做。

k=3 ,有可能为1也有可能为0 ,假设L-R范围内的三个数x,y,z异或为0,x,y,z不同,就设x>y>z,那么x,y已确定,那么就是尽可能让z大,

比如

x  100110001111   那么y值的第一位一定为1,不然z就为1就不符合假设y>z了,因为y<x,所以之后遇到x为0的位,y,z也是为0的,一旦再遇到一位1,就可以把y置为0,z置为1,再之后z就可以一直为1,而y的变化可以依据x,z而定。

x  100110001111...1

y  100001110000...0

z  000111111111...1

这样z将获得<R的最大值,再与L相比较就可以知道结果了。

  1. #include <iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<algorithm>
  5. #include<stdlib.h>
  6. #include<vector>
  7. #include<cmath>
  8. #include<queue>
  9. #include<set>
  10. using namespace std;
  11. #define N 100000
  12. #define LL long long
  13. #define INF 0xfffffff
  14. const double eps = 1e-;
  15. const double pi = acos(-1.0);
  16. const double inf = ~0u>>;
  17. LL a[];
  18. int di[];
  19. void judge(LL l,LL r)
  20. {
  21. LL x = r;
  22. LL i;
  23. int g = ;
  24. while(x)
  25. {
  26. di[g++] = x%;
  27. x/=;
  28. }
  29. LL y = ;
  30. LL z = ;
  31. int flag = ;
  32. y+=((LL)<<(g-));
  33. for(i = g- ; i >= ; i--)
  34. {
  35. if(di[i])
  36. {
  37. flag = ;
  38. z += ((LL)<<i);
  39. }
  40. else if(flag)
  41. {
  42. z+=((LL)<<i);
  43. y+=((LL)<<i);
  44. }
  45. }
  46. if(z>=l)
  47. {
  48. cout<<"0\n";
  49. cout<<"3\n";
  50. cout<<r<<" "<<y<<" "<<z<<endl;
  51. }
  52. else
  53. {
  54. cout<<"1\n";
  55. cout<<"2\n";
  56. if(l%)
  57. cout<<l+<<" "<<l+<<endl;
  58. else
  59. cout<<l<<" "<<l+<<endl;
  60. }
  61. }
  62. int main()
  63. {
  64. LL l,r,i,k;
  65. cin>>l>>r>>k;
  66. if(r==l)
  67. {
  68. cout<<l<<endl;
  69. cout<<"1\n";
  70. cout<<l<<endl;
  71. return ;
  72. }
  73. if(l%==)
  74. {
  75. if(r-l+==||k<=)
  76. {
  77. if(k==)
  78. {
  79. cout<<l<<endl;
  80. cout<<"1\n";
  81. cout<<l<<endl;
  82. }
  83. else
  84. {
  85. cout<<"1\n";
  86. cout<<"2\n";
  87. cout<<l<<" "<<l+<<endl;
  88. }
  89. }
  90. else if(r-l+==||k==)
  91. {
  92. judge(l,r);
  93. }
  94. else
  95. {
  96. cout<<"0\n";
  97. cout<<"4\n";
  98. for(i = l ; i < l + ; i++)
  99. cout<<i<<" ";
  100. puts("");
  101. }
  102. }
  103. else
  104. {
  105. if(r-l+==||k<=)
  106. {
  107. if(k==||(r-l+==&&(l^(l+))>l))
  108. {
  109. cout<<l<<endl;
  110. cout<<"1\n";
  111. cout<<l<<endl;
  112. }
  113. else
  114. {
  115. if(r-l+==)
  116. {
  117. cout<<(l^(l+))<<endl;
  118. cout<<"2\n";
  119. cout<<l<<" "<<l+<<endl;
  120. }
  121. else
  122. {
  123. cout<<"1\n";
  124. cout<<"2\n";
  125. cout<<l+<<" "<<l+<<endl;
  126. }
  127. }
  128. }
  129. else if(r-l+==||k==)
  130. {
  131. judge(l,r);
  132. }
  133. else if(r-l+==)
  134. {
  135. int flag = ;
  136. judge(l,r);
  137. }
  138. else
  139. {
  140. cout<<"0\n";
  141. cout<<"4\n";
  142. for(i = l+ ; i < l+ ; i++)
  143. cout<<i<<" ";
  144. puts("");
  145. }
  146.  
  147. }
  148. return ;
  149. }

Codeforces Round #262 (Div. 2)的更多相关文章

  1. Codeforces Round #262 (Div. 2) 1003

    Codeforces Round #262 (Div. 2) 1003 C. Present time limit per test 2 seconds memory limit per test 2 ...

  2. Codeforces Round #262 (Div. 2) 1004

    Codeforces Round #262 (Div. 2) 1004 D. Little Victor and Set time limit per test 1 second memory lim ...

  3. Codeforces Round #262 (Div. 2) 460C. Present(二分)

    题目链接:http://codeforces.com/problemset/problem/460/C C. Present time limit per test 2 seconds memory ...

  4. codeforces水题100道 第十五题 Codeforces Round #262 (Div. 2) A. Vasya and Socks (brute force)

    题目链接:http://www.codeforces.com/problemset/problem/460/A题意:Vasya每天用掉一双袜子,她妈妈每m天给他送一双袜子,Vasya一开始有n双袜子, ...

  5. Codeforces Round #262 (Div. 2) E. Roland and Rose 暴力

    E. Roland and Rose Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/problemset/pro ...

  6. Codeforces Round #262 (Div. 2)解题报告

    详见:http://robotcator.logdown.com/posts/221514-codeforces-round-262-div-2 1:A. Vasya and Socks   http ...

  7. Codeforces Round #262 (Div. 2)460A. Vasya and Socks(简单数学题)

    题目链接:http://codeforces.com/contest/460/problem/A A. Vasya and Socks time limit per test 1 second mem ...

  8. Codeforces Round #262 (Div. 2) A B C

    题目链接 A. Vasya and Socks time limit per test:2 secondsmemory limit per test:256 megabytesinput:standa ...

  9. Codeforces Round #262 (Div. 2) 二分+贪心

    题目链接 B Little Dima and Equation 题意:给a, b,c 给一个公式,s(x)为x的各个位上的数字和,求有多少个x. 分析:直接枚举x肯定超时,会发现s(x)范围只有只有1 ...

随机推荐

  1. MySQL常用问题解决方法

    Q: # table 损坏 Table 'table_name' is marked as crashed and should be repaired A: 恢复数据表的索引:myisamchk - ...

  2. 制作U盘启动盘及安装操作系统的方法

    U盘启动盘制作方法: 1.从网上下载最新的老毛桃U盘启动制作工具主程序并安装 2.插入U盘(制作启动盘前先保存好你的资料到其它地方,以防丢失不可找回) 3.插入正确的U盘后程序会自动检测到U盘,启动模 ...

  3. C#基础知识大杂烩

    这样是调用父类中第二个有参的构造函数,如果去掉Base默认调用无参构造函数 注意执行顺序是:先调用父类的构造函数,然后再执行子类自己的构造函数. 父类: class Person { public P ...

  4. EBS创建相应的用户

    登陆EBS,依次点击"System Administrator"-->"Security"-->"User"-->&quo ...

  5. [原创]java WEB学习笔记94:Hibernate学习之路---session 的管理,Session 对象的生命周期与本地线程绑定

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  6. 进程 swoole

    父进程创建子进程,子进程会复制父进程的内存和上下文环境,但是互相独立,如果两个进程是独立的是怎么互相通信的了,可以用共享内存,共享内存不属于任何一个进程,其他进程可以访问共享内存,查下系统的共享内存分 ...

  7. 助手系列之python的FTP服务器

    电脑的OS是Win7,Python版本是2.7.9,安装了pip 因为python没有内置可用的FTP SERVER,所以先选一个第三方的组件安装上,这里我选的是pyftpdlib pip insta ...

  8. configure.ac:32: error: possibly undefined macro: AC_DEFINE

    在ubuntu 下编译snappy时,在检查依赖关系时,处理autoconf的包时,在相关依赖包都已经安装的情况下,报如下错误,死活不过. configure.ac:32: error: possib ...

  9. Struts2&Hibernate&Spring框架目录

      第3章 Struts2框架 Struts是流行和成熟的基于MVC设计模式的Web应用程序框架 使用目的:减少在运用MVC设计模型来开发Web应用的时间 3.1 Struts2框架概述 3.1.1 ...

  10. [已解决] windows 80端口被占用

    看下是不是IIS开着,如果是关掉就OK拉 原文地址:http://www.cnblogs.com/gifisan/p/5822156.html