第一次打。。(太弱(+99积分是几个意思

A

题意:一堆数,只有1和2,问最多凑出多少个3.

分情况即可

  1. #include<cstdio>
  2. int main(){
  3. int a=0,b=0,k,n;
  4. scanf("%d",&n);
  5. while(n--)scanf("%d",&k),k==1?++a:++b;
  6. if(a<=b)printf("%d\n",a);
  7. else printf("%d\n",b+(a-b)/3);
  8. return 0;
  9. }

B

题意:问你有没有可能找出连续的n个月天数与给定的相同。

这个打表枚举判断即可。

用py的切片很容易实现

据说很多人被hack了,还是复制一遍稳啊

  1. l=[
  2. 31,28,31,30,31,30,31,31,30,31,30,31,
  3. 31,28,31,30,31,30,31,31,30,31,30,31,
  4. 31,28,31,30,31,30,31,31,30,31,30,31,
  5. 31,29,31,30,31,30,31,31,30,31,30,31,
  6. ]
  7. l+=l
  8. n=int(input())
  9. k=list(map(int,input().split()))
  10. lim=12*4*2-n+1
  11. for i in range(0,lim):
  12. if k==l[i:i+n]:
  13. print("YES");exit()
  14. print("NO")

C

题意:一个排列,分成两个集合,使和的差最小,输出最小的差和任意一组方案。

先当做n%40看,显然一个集合\([1,\frac{n}{4}]\cup (\frac{3}{4}n,n]\)即可。ans=0

n%41:所有集合数++,剩的1放任意一个集合。ans=1

n%42:所有集合数++,剩的1放肛♂才没放1的集合里。ans=1

n%43:所有集合数++,剩的1放n%4==2时放的1的集合里。ans=0

OjbK

  1. #include<cstdio>
  2. #define rg register
  3. int main(){
  4. int n;scanf("%d",&n);
  5. switch(n%4){
  6. case 0:
  7. puts("0");
  8. printf("%d ",n/2);
  9. for(rg int i=1;i<=n>>2;++i)printf("%d %d ",i,n-i+1);
  10. break;
  11. case 1:
  12. puts("1");
  13. n-=1;
  14. printf("%d ",n/2);
  15. for(rg int i=1;i<=n>>2;++i)printf("%d %d ",i+1,n-i+2);
  16. break;
  17. case 2:
  18. puts("1");
  19. n-=2;
  20. printf("%d ",n/2+1);
  21. for(rg int i=1;i<=n>>2;++i)printf("%d %d ",i,n-i+1);
  22. printf("%d",n+1);
  23. break;
  24. default:
  25. puts("0");
  26. n-=3;
  27. printf("%d ",n/2+2);
  28. for(rg int i=1;i<=n>>2;++i)printf("%d %d ",i+1,n-i+2);
  29. printf("%d 1",n+2);
  30. }
  31. return 0;
  32. }

D

题意:[1,n]里选两个不重复的数相加末尾9最多有多少个?输出方案数

先得到最多多少个,然后枚举满足的数(脑补证明,此数不会相对99...9太大)

然后算一算值域

  1. #include<cstdio>
  2. #include<algorithm>
  3. #define rg register
  4. typedef long long ll;
  5. ll bin[1005];ll lim,n;
  6. ll p[]={1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000,10000000000ll,100000000000ll};
  7. ll ans=0;
  8. int solve(int w){
  9. static ll x,l,r;
  10. x=w*p[lim]+bin[lim];l=std::max(1ll,x-n),r=std::min(n,x-1);
  11. if(l<=r)return (r-l+1)/2;
  12. else return 0;
  13. }
  14. int main(){
  15. scanf("%I64d",&n);
  16. for(rg int i=1;i<=10;i++)bin[i]=bin[i-1]*10+9;
  17. if(n<=4){printf("%I64d\n",n*(n-1)/2);return 0;}
  18. for(lim=1;lim<=10;lim++)
  19. if(n*2<bin[lim]){lim--;break;}
  20. for(rg int i=0;i<1000;i++)ans+=solve(i);
  21. printf("%I64d\n",ans);
  22. return 0;
  23. }

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

  1. Codeforces Round #452 (Div. 2) A B C

    Codeforces Round #452 (Div. 2) A Splitting in Teams 题目链接: http://codeforces.com/contest/899/problem/ ...

  2. Codeforces Round #452 (Div. 2) 899E E. Segments Removal

    题 OvO http://codeforces.com/contest/899/problem/E Codeforces Round #452 (Div. 2) - e 899E 解 用两个并查集(记 ...

  3. Codeforces Round #452 (Div. 2)-899A.Splitting in Teams 899B.Months and Years 899C.Dividing the numbers(规律题)

    A. Splitting in Teams time limit per test 1 second memory limit per test 256 megabytes input standar ...

  4. Codeforces Round #452 (Div. 2) C. Dividing the numbers(水)

    C. Dividing the numbers Petya has n integers: 1, 2, 3, ..., n. He wants to split these integers in t ...

  5. 【Codeforces Round #452 (Div. 2) A】 Splitting in Teams

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 贪心 1优先和2组队. 如果1没有了 就结束. 如果1还有多余的. 那么就自己3个3个组队 [代码] #include <bi ...

  6. 【Codeforces Round #452 (Div. 2) B】Months and Years

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 闰,平,平 平,闰,平 平,平,闰 平,平,平 4种情况都考虑到就好. 可能有重复的情况. 但是没关系啦. [代码] #includ ...

  7. 【Codeforces Round #452 (Div. 2) C】 Dividing the numbers

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] n为偶数. l = 1, r = n (l,r)放在一组 l++,r-- 新的l,r放在另外一组 直到l+1==r 这个时候,判断两 ...

  8. 【Codeforces Round #452 (Div. 2) D】Shovel Sale

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 让N乘2->a 然后看一下位数是多少. 假设有x位(x>=2) 则(0..(a%10-1) ) + (99..9)[x- ...

  9. Codeforces Round #366 (Div. 2) ABC

    Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...

随机推荐

  1. 绛河 初识WCF4

    参考: http://blog.csdn.net/anlun/article/details/44860821 第四篇 初探通信--ChannelFactory 通过前几篇的学习,我们简单了解了WCF ...

  2. (转)透明光照模型与环境贴图之基础理论篇(折射率、色散、fresnel定律) .

     摘抄“GPU Programming And Cg Language Primer 1rd Edition” 中文名“GPU编程与CG语言之阳春白雪下里巴人” 材质和光的交互除了反射现象,对于透明物 ...

  3. EBS中比较复杂的trace方法

    FND LOG Messages-------------------------a) Using the System Administrator Responsibility, navigate  ...

  4. print(dir(...)) 打印对象或者类中的方法和函数

  5. * args 和 **kwargs

    def func(*args, **kwargs): print(args,kwargs) func("对", "哦",o=4, k=0) 结果---> ...

  6. VRSProcess(二)

    1._beginthreadex再谈 Windows操作系统提供了这样的一种解决方案——每个线程都将拥有自己专用的一块内存区域来供标准C运行库中所有有需要的函数使用.而且这块内存区域的创建就是由C/C ...

  7. bin/hdfs dfs命令

    appendToFile Usage: hdfs dfs -appendToFile <localsrc> ... <dst> 追加一个或者多个文件到hdfs制定文件中.也可以 ...

  8. 更改Request Parameters中的值

    1. 定义ParameterRequestWrapper 继承HttpServletRequestWrapper public class ParameterRequestWrapper extend ...

  9. PHP MemCached高级缓存配置图文教程

    memcache是一个高性能的分布式的内存对象缓存系统,它能够用来存储各种格式的数据,包括图像.视频.文件以及数据库检索的结果等.     1.Memcache相关介绍 memcache是一个高性能的 ...

  10. Hadoop学习之路(十六)Hadoop命令hadoop fs -ls详解

    http://blog.csdn.net/strongyoung88/article/details/68952248