C. Tennis Championship(递推,斐波那契)

题意:n个人比赛,淘汰制,要求进行比赛双方的胜场数之差小于等于1.问冠军最多能打多少场比赛。
题解:
因为n太大,感觉是个构造。写写小数据,看看有没有结论。

  • 2 3 4 5 6 7 8 9 10 11 12 (人数)
  • 1 2 2 3 3 3 4 4 4 4 4 (比赛数)

发现比赛数的增长成斐波那契。维护一个前缀和即可。

  1. #include <bits/stdc++.h>
  2. #define ll long long
  3. using namespace std;
  4. ll dp[100];
  5. int main()
  6. {
  7. ll n;
  8. memset(dp,0,sizeof(dp));
  9. dp[1]=1;
  10. dp[2]=2;
  11. for(int i=3;i<=95;i++)
  12. {
  13. dp[i]=dp[i-1]+dp[i-2];
  14. }
  15. for(int i=1;i<=95;i++)
  16. {
  17. dp[i]=dp[i-1]+dp[i];
  18. }
  19. cin>>n;
  20. n--;
  21. for(int i=1;i<=95;i++)
  22. {
  23. if(dp[i]>=n)
  24. {
  25. printf("%d\n",i);
  26. break;
  27. }
  28. }
  29. }

D. Taxes(数论知识)

题意:你有值为n的财富,你需要交税,缴税方式有两种,一是直接交n的最大因子(除自身)二是将n拆成若干份>=2的部分,交他们的最大因子和。问缴税的最小值。
题解:
两个定理。三素数定理:大于2的奇数都可以拆成三个素数和的形式
哥德巴赫猜想:任一大于2的偶数都可写成两个质数之和。
然后,判断一下,有一个cha点,如果n是奇数,n-2是素数,答案为2. 大素数判定小心re。

  1. #include <bits/stdc++.h>
  2. #define ll long long
  3. using namespace std;
  4. int pan(ll p)
  5. {
  6. for(int i=2;i<=sqrt(p);i++)
  7. {
  8. if(p%i==0) return 0;
  9. }
  10. return 1;
  11. }
  12. long long n;
  13. int main()
  14. {
  15. scanf("%I64d",&n);
  16. if(pan(n))
  17. {
  18. cout<<1<<endl;
  19. return 0;
  20. }
  21. if(n==2)
  22. {
  23. cout<<1<<endl;
  24. return 0;
  25. }
  26. if(n%2)
  27. {
  28. if(pan(n-2))
  29. cout<<2<<endl;
  30. else
  31. cout<<3<<endl;
  32. }
  33. else
  34. {
  35. cout<<2<<endl;
  36. return 0;
  37. }
  38. }

以上代码均参考别人博客,自己水平有限,被cha了一次,好多定理不会,好多算法没学,从今天起晚上的codeforces就不参加了,调整作息,刷书做题,抱大腿学算法,越努力,越幸运!

Codeforces Round #382 Div. 2【数论】的更多相关文章

  1. 2017年浙工大迎新赛热身赛 J Forever97与寄信 【数论/素数/Codeforces Round #382 (Div. 2) D. Taxes】

    时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 131072K,其他语言262144K64bit IO Format: %lld 题目描述 Forever97与未央是一对笔友,他们经常互 ...

  2. Codeforces Round #382 (Div. 2) D. Taxes 哥德巴赫猜想

    D. Taxes 题目链接 http://codeforces.com/contest/735/problem/D 题面 Mr. Funt now lives in a country with a ...

  3. Codeforces Round #382 (Div. 2)C. Tennis Championship 动态规划

    C. Tennis Championship 题目链接 http://codeforces.com/contest/735/problem/C 题面 Famous Brazil city Rio de ...

  4. Codeforces Round #382 (Div. 2)B. Urbanization 贪心

    B. Urbanization 题目链接 http://codeforces.com/contest/735/problem/B 题面 Local authorities have heard a l ...

  5. Codeforces Round #382(div 2)

    A.= = B. 题意:给出n个数和n1和n2,从n个数中分别选出n1,n2个数来,得到n1个数和n2个数的平均值,求这两个平均值的最大和 分析:排个序从后面抽,注意先从末尾抽个数小的,再抽个数大的 ...

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

    CF一如既往在深夜举行,我也一如既往在周三上午的C++课上进行了virtual participation.这次div2的题目除了E题都水的一塌糊涂,参赛时的E题最后也没有几个参赛者AC,排名又成为了 ...

  7. Codeforces Round #382 (Div. 2) 继续python作死 含树形DP

    A - Ostap and Grasshopper zz题能不能跳到  每次只能跳K步 不能跳到# 问能不能T-G  随便跳跳就可以了  第一次居然跳越界0.0  傻子哦  WA1 n,k = map ...

  8. Codeforces Round #382 (Div. 2) A. Ostap and Grasshopper bfs

    A. Ostap and Grasshopper 题面 On the way to Rio de Janeiro Ostap kills time playing with a grasshopper ...

  9. Codeforces Round #382 (Div. 2) C. Tennis Championship 斐波那契

    C. Tennis Championship time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

随机推荐

  1. Mybatis学习总结(一)——入门基础

    一.Mybatis介绍 1.MyBatis是什么? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了go ...

  2. js删除数组指定元素

    删除js数组中制定的元素,这里用到了jquery. var a = new Array("a","b","cc","d3" ...

  3. Android Studio使用Git版本控制工具

    1.File->Settings->Version Control->git 将git.exe地址copy进去 2.File->Settings->Version Con ...

  4. String StringBuffer StringBuilder

    package com.test; import java.util.Date; /*** * * // 输出的结果是:// 来一个测试// 来一个测试如果只输出这句就证明了String是不可变的// ...

  5. Safari new Date()

    最近在敲代码的时候不觉得Safari有什么兼容问题,相比较的更多的时候再考虑ie,结果今天就栽在了Safari日期格式化上面了. 正如前面说的没有特别注意Safari的兼容问题所以特地粘贴这个打开Sa ...

  6. 深入浅析JAVA注解

    注解,相信大家都会知道,像@requestMapping,@Resource,@Controller等等的一些注解,大家都用过,那么,他的工具类你用过吗?下面就和大家一起来分享一下注解工具类. 注解的 ...

  7. 前端工具HBuilder安装Sass插件

    HBuilder自带未安装的less插件,但是sass插件却没有,需要自己安装,步骤如下: 1.安装sass,参考: http://www.w3cplus.com/sassguide/install. ...

  8. c++虚析构函数

    虚析构函数的作用主要是当通过基类指针删除派生类对象时,调用派生类的析构函数(如果没有将不会调用派生类析构函数) #include <iostream> using namespace st ...

  9. oracle 学习笔记(一)

    1. 数据库原理 1.1. 数据库简介 1.1.1. 文件存储 对数据的存储需求一直存在.保存数据的方式,经历了手工管理.文件管理等阶段,直至数据库管理阶段. 文件存储方式保存数据的弊端: 缺乏对数据 ...

  10. 《jQuery知识点总结》(一)

    write less do more写更少的代码实现更多的功能DOM:document object model (文件对象模型)选择器(选择元素的对象或者节点)id 选择器 $("#id& ...