Codeforces Round #382 Div. 2【数论】
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 (比赛数)
发现比赛数的增长成斐波那契。维护一个前缀和即可。
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll dp[100];
int main()
{
ll n;
memset(dp,0,sizeof(dp));
dp[1]=1;
dp[2]=2;
for(int i=3;i<=95;i++)
{
dp[i]=dp[i-1]+dp[i-2];
}
for(int i=1;i<=95;i++)
{
dp[i]=dp[i-1]+dp[i];
}
cin>>n;
n--;
for(int i=1;i<=95;i++)
{
if(dp[i]>=n)
{
printf("%d\n",i);
break;
}
}
}
D. Taxes(数论知识)
题意:你有值为n的财富,你需要交税,缴税方式有两种,一是直接交n的最大因子(除自身)二是将n拆成若干份>=2的部分,交他们的最大因子和。问缴税的最小值。
题解:
两个定理。三素数定理:大于2的奇数都可以拆成三个素数和的形式
哥德巴赫猜想:任一大于2的偶数都可写成两个质数之和。
然后,判断一下,有一个cha点,如果n是奇数,n-2是素数,答案为2. 大素数判定小心re。
#include <bits/stdc++.h>
#define ll long long
using namespace std;
int pan(ll p)
{
for(int i=2;i<=sqrt(p);i++)
{
if(p%i==0) return 0;
}
return 1;
}
long long n;
int main()
{
scanf("%I64d",&n);
if(pan(n))
{
cout<<1<<endl;
return 0;
}
if(n==2)
{
cout<<1<<endl;
return 0;
}
if(n%2)
{
if(pan(n-2))
cout<<2<<endl;
else
cout<<3<<endl;
}
else
{
cout<<2<<endl;
return 0;
}
}
以上代码均参考别人博客,自己水平有限,被cha了一次,好多定理不会,好多算法没学,从今天起晚上的codeforces就不参加了,调整作息,刷书做题,抱大腿学算法,越努力,越幸运!
Codeforces Round #382 Div. 2【数论】的更多相关文章
- 2017年浙工大迎新赛热身赛 J Forever97与寄信 【数论/素数/Codeforces Round #382 (Div. 2) D. Taxes】
时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 131072K,其他语言262144K64bit IO Format: %lld 题目描述 Forever97与未央是一对笔友,他们经常互 ...
- 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 ...
- Codeforces Round #382 (Div. 2)C. Tennis Championship 动态规划
C. Tennis Championship 题目链接 http://codeforces.com/contest/735/problem/C 题面 Famous Brazil city Rio de ...
- Codeforces Round #382 (Div. 2)B. Urbanization 贪心
B. Urbanization 题目链接 http://codeforces.com/contest/735/problem/B 题面 Local authorities have heard a l ...
- Codeforces Round #382(div 2)
A.= = B. 题意:给出n个数和n1和n2,从n个数中分别选出n1,n2个数来,得到n1个数和n2个数的平均值,求这两个平均值的最大和 分析:排个序从后面抽,注意先从末尾抽个数小的,再抽个数大的 ...
- Codeforces Round #382 (Div. 2) 解题报告
CF一如既往在深夜举行,我也一如既往在周三上午的C++课上进行了virtual participation.这次div2的题目除了E题都水的一塌糊涂,参赛时的E题最后也没有几个参赛者AC,排名又成为了 ...
- Codeforces Round #382 (Div. 2) 继续python作死 含树形DP
A - Ostap and Grasshopper zz题能不能跳到 每次只能跳K步 不能跳到# 问能不能T-G 随便跳跳就可以了 第一次居然跳越界0.0 傻子哦 WA1 n,k = map ...
- 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 ...
- 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 ...
随机推荐
- 浅谈Nginx负载均衡和F5的区别
前言 笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道"墙",将请求分发到web服务器后,web服务器上的Nginx再进行处 ...
- 入门:Java Map<String,String>遍历及修改
重点:在使用Map时注意key-value,key用于检索value的内容. 在正常情况下,可以不允许重复:在java中分为2中情况,一是内存地址重复,另一个是不同的地址但内容相等. 在使用Map是一 ...
- 2.3switch case 语句注意事项。
#include<stdio.h> int main() { void action1(int, int),action2(int, int); char ch; , b=; ch = g ...
- 分享公司DAO层数据库结果映射到对象的方法
主题 前面写过一篇文章,分享了公司是怎么动态封装SQL查询条件的(http://www.cnblogs.com/abcwt112/p/5874401.html). 里面提到数据库查询结果二维数组最后是 ...
- web app开发利器 - iscroll4 解决方案
存在即是道理,iscroll会诞生,主要是因为无论是在iphone.ipod.android 或是更早前的移动webkit都没有提供一种原生的方式来支持在一个固定高度的容器内滚动内容, 这个不幸的规则 ...
- Excel—利用散点图计算相关系数
1.建立数组 2.创建散点图. 3.添加趋势线. 4.设立为线性函数,勾选显示公式.显示R^2值,R即为相关系数. 5. 备注:此外也可以使用=CORREL()函数对相关系数进行求值.其结果是一致的.
- 1.2、Workspace中让Package分层显示
有时候我们新建两个具有两个相同目录的Package(例如:com.st.collection和com.st.map这两个Package)时,在Workspace中是以平铺的方式显示的,如: 当Pack ...
- MySql简易配置
选择standard configuration ,然后next Service Name :服务名字 Launch the MySQL Server automatically:是否开机启动mysq ...
- 第3月30天 UIImage imageWithContentsOfFile卡顿 Can't add self as subview MPMoviePlayerControlle rcrash
1. UIImage imageWithContentsOfFile卡顿 [[UIImage alloc] initWithContentsOfFile 卡顿 2.uitableview scroll ...
- .net导入excel数据到数据库中
在开发过程中我们经常面临着需要将数据导出或者导入到系统中,例如一些生产管理系统,项目管理系统等等都会有这样的需求: 将excel数据到系统中思路:获取excel中每一行的数据,然后存入集合中,批量添加 ...