cf 1305 E. Kuroni and the Score Distribution
题目传送门:E. Kuroni and the Score Distribution
题目大意:给n和m,输出n个数,这些数里必须要有m对a[i]+a[j]==a[k] ( i < j < k )
题解:(这里的a[i]不是题目意思中的a[i])分两种情况:
1. m==0 直接输出n个递增的奇数即可;
2. m!=0; 先打个表找出1~q(q<=n)共有多少对满足i+j==k记录在数组a中,然后找到小于等于m的第一个x;如果x>n或者a[n]<m,输出-1。
否则,输出1到x。如果小于m还差m-a[x]个,x++, 自己写几个数可以发现a[i]-a[i-1]=(i-1)/2; 令y=x+(x-1)/2; y每加2,就会少一对满足条件的,找到y输出。然后判断还差几个数没有输出。输出n-x个数这些数都比前一个大y+1即可不出现满足要求的。
- 1 #include<bits/stdc++.h>
- 2 using namespace std;
- 3
- 4 int a[100100];
- 5
- 6 int main()
- 7 {
- 8 int n,m;
- 9 cin>>n>>m;
- 10 a[1]=0;a[2]=0,a[3]=1,a[4]=2;
- 11 for(int i=5;i<=n;i++){
- 12 a[i]=a[i-1]+(i-1)/2;
- 13 if(a[i]>m) break;
- 14 }
- 15 int k=-1,l=0;
- 16 for(int i=1;i<=n;i++){
- 17 if(a[i]>=m){
- 18 k=i;
- 19 break;
- 20 }
- 21 }
- 22 if(m==0){
- 23 int t=0,ans=1;
- 24 for(int i=0;i<n;i++){
- 25 ans+=2;
- 26 printf("%d ",ans);
- 27 }
- 28 return 0;
- 29 }
- 30 if(k>n||k==-1){
- 31 cout<<-1<<endl;
- 32 return 0;
- 33 }
- 34 int flag=0;
- 35 if(a[k]>m) k--,flag=1;
- 36 for(int i=1;i<=k;i++){
- 37 printf("%d ",i);
- 38 }
- 39 int x=k/2,y=k;
- 40 if(flag){
- 41 y++;
- 42 while(a[k]+x>m) x--,y+=2;
- 43 printf("%d ",y);
- 44 k++;
- 45 }
- 46 n-=k;
- 47 int t=y+1,ans=y;
- 48 for(int i=0;i<n;i++){
- 49 ans+=t;
- 50 printf("%d ",ans);
- 51 }
- 52 return 0;
- 53 }
cf 1305 E. Kuroni and the Score Distribution的更多相关文章
- CF 1305E. Kuroni and the Score Distribution
题目大意:题目给定两个数n和m(1<=n<=5000,0<=m<=1e9)要求构造一个数列A,A中元素 大于等于1,小于等于1e9且满足严格递增 满足ai+aj=ak的(i,j ...
- Codeforces 杂题集 2.0
记录一些没有写在其他随笔中的 Codeforces 杂题, 以 Problemset 题号排序 1326D2 - Prefix-Suffix Palindrome (Hard version) ...
- Linux command line exercises for NGS data processing
by Umer Zeeshan Ijaz The purpose of this tutorial is to introduce students to the frequently used to ...
- Scoring and Modeling—— Underwriting and Loan Approval Process
https://www.fdic.gov/regulations/examinations/credit_card/ch8.html Types of Scoring FICO Scores V ...
- 2016CVPR论文集
http://www.cv-foundation.org/openaccess/CVPR2016.py ORAL SESSION Image Captioning and Question Answe ...
- CVPR2016 Paper list
CVPR2016 Paper list ORAL SESSIONImage Captioning and Question Answering Monday, June 27th, 9:00AM - ...
- ProbS CF matlab源代码(二分系统)(原创作品,转载注明出处,谢谢!)
%ProbS clear all;%% 数据读入与预处理 data = load('E:\network_papers\u1.base');test = load('E:\network_papers ...
- CF Round#240题解
第一次参加CF的比赛,MSK19.30,四个小时的时差真心累,第一次CODE到这么夜-- 一开始做了A,C两题,后来做B题的时候我体力和精神集中度就很低了,导致一直WA在4-- 今天起床后再刷B,终于 ...
- 常见的概率分布类型(Probability Distribution)
统计学中最常见的几种概率分布分别是正态分布(normal distribution),t分布(t distribution),F分布(F distribution)和卡方分布(χ2 distribut ...
随机推荐
- vue 深度作用选择器
使用 scoped 后,父组件的样式将不会渗透到子组件中 如果想在使用scoped,不污染全局的情况下,依然可以修改子组件样式,可以使用深度作用选择器 .tree{ width: 100%; floa ...
- 【C++】《C++ Primer 》第十六章
第十六章 模板与泛型编程 面向对象编程和泛型编程都能处理在编写程序时不知道类型的情况. OOP能处理类型在程序允许之前都未知的情况. 泛型编程在编译时就可以获知类型. 一.定义模板 模板:模板是泛型编 ...
- zabbix 4.X 版本 web字体显示方块
先看看问题长啥样...... Zabbix 字体乱码(显示呈现方块) 第一种解决方法: # 1) 进入代码存放目录的字体目录: cd /data/www/zabbix/assets/fonts # 2 ...
- 行业动态 | 利用Cassandra数据库揭开家族祖先的秘密
FamilySearch选择了基于Apache Cassandra的DataStax Enterprise (DSE)来加速用户增长,并通过更快的反应时间.高可用性以及零数据库宕机来提供强大的 ...
- 优先队列priority_queue排序
优先队列默认大顶堆,即堆顶元素是最大值 改成小顶堆时: priority_queue<int,vector<int>, greater<int> > Q;//注意最 ...
- YYDS: Webpack Plugin开发
目录 导读 一.cdn常规使用 二.开发一个webpack plugin 三.cdn优化插件实现 1.创建一个具名 JavaScript 函数(使用ES6的class实现) 2.在它的原型上定义 ap ...
- 如何用Python中自带的Pandas和NumPy库进行数据清洗
一.概况 1.数据清洗到底是在清洗些什么? 通常来说,你所获取到的原始数据不能直接用来分析,因为它们会有各种各样的问题,如包含无效信息,列名不规范.格式不一致,存在重复值,缺失值,异常值等..... ...
- C#从入门到放弃治疗一:初探C#世界
C#是一款高级的面向对象语言,运行于.NET framework之上的高级程序设计语言.其语言规范和,语法和java有着惊人的类似之处.所以如果你在学习C#之前有着java的基础,你将快速地入门.当然 ...
- tf
第2章 Tensorflow keras实战 2-0 写在课程之前 课程代码的Tensorflow版本 大部分代码是tensorflow2.0的 课程以tf.kerasAPI为主,因而部分代码可以在t ...
- vue、element-ui 后台菜单切换重新请求数据
我们在做后台管理系统时,通常将数据请求挂载到created或mounted钩子中,但这样引发的问题是它只会被出发一次,如果不同菜单中数据关联性较大,切换过程中未及时更新数据,容易引发一些问题,这种情况 ...