CF1305E Kuroni and the Score Distribution

题意:

题解:

一开始想这个题,想法是一开始顺着填1,2,3…然后多删少补
如果1,2,3,4…这样顺延的填,对于ak=ka_{k}=kak​=k可以贡献⌊k−12⌋\lfloor\frac{k-1}{2} \rfloor⌊2k−1​⌋的答案(这个写写就试出来了)
现在我们设构造了1到k,然后三元组数量刚好超过m,假设超过答案x。对于一个k,按照上述方式可以贡献⌊k−12⌋\lfloor\frac{k-1}{2} \rfloor⌊2k−1​⌋的答案,现在我们想要其贡献⌊k−12⌋−x\lfloor\frac{k-1}{2} \rfloor-x⌊2k−1​⌋−x的贡献,这样就可以正好凑出m,那就需要让其中x对(i,j)无效。
如何让x对无效?我们令当前的k变为k+2x,前k-1个数中最大的是k-1,原先k-1和1和k组合成三元组(k-1+1=k),现在k变成k+2x,那么k-1只能和2x+1去匹配,前2x个数原先都能组成三元组,现在不行了,这样不就少掉2x个可以用的数,答案就变成⌊k−1−2x2⌋=⌊k−12⌋−x\lfloor\frac{k-1-2x}{2} \rfloor=\lfloor\frac{k-1}{2} \rfloor-x⌊2k−1−2x​⌋=⌊2k−1​⌋−x
现在m已经构造好了,n个数如何补齐,这个我和队友想了很久,我想的是差级补充但是不对,因为你要考前之前填充的数的影响。最佳是到这搞,我们之前已经填充了一些数,如果之前填充的最大数是w,那就从1e9开始按照2 * j的步长递减即可,因为这样间隔为2j,而之前所能贡献的最大是j+(j-1),刚好组不成三元组

代码:

#include <bits/stdc++.h>
#include <unordered_map>
#define debug(a, b) printf("%s = %d\n", a, b);
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> PII;
clock_t startTime, endTime;
//Fe~Jozky
const ll INF_ll= 1e18;
const int INF_int= 0x3f3f3f3f;
void read(){};
template <typename _Tp, typename... _Tps> void read(_Tp& x, _Tps&... Ar)
{x= 0;char c= getchar();bool flag= 0;while (c < '0' || c > '9')flag|= (c == '-'), c= getchar();while (c >= '0' && c <= '9')x= (x << 3) + (x << 1) + (c ^ 48), c= getchar();if (flag)x= -x;read(Ar...);
}
template <typename T> inline void write(T x)
{if (x < 0) {x= ~(x - 1);putchar('-');}if (x > 9)write(x / 10);putchar(x % 10 + '0');
}
void rd_test()
{#ifdef ONLINE_JUDGE
#elsestartTime = clock ();freopen("data.in", "r", stdin);
#endif
}
void Time_test()
{#ifdef ONLINE_JUDGE
#elseendTime= clock();printf("\nRun Time:%lfs\n", (double)(endTime - startTime) / CLOCKS_PER_SEC);
#endif
}
int n,m;
const int maxn=2e5+9;
int ans[maxn];
int main()
{//rd_test();cin>>n>>m;int cnt=0;bool f=0;for(int i=1;i<=n;i++){ans[i]=i;cnt+=(i-1)/2;if(cnt>=m){int s=1e9;int x=cnt-m;//多出部分 ans[i]+=2*(cnt-m); for(int j=n;j>i;j--){s-=(ans[i]+1);ans[j]=s;}f=1;break;}}if(f){for(int i=1;i<=n;i++){printf("%d ",ans[i]);}}else {printf("-1\n");return 0;}//Time_test();
}

CF1305E Kuroni and the Score Distribution相关推荐

  1. Ozon Tech Challenge 2020 (Div.1 + Div.2) E.Kuroni and the Score Distribution 构造

    传送门 文章目录 题意: 思路: 题意: 思路: 不难想到,长度为nnn的数组最多的满足条件的三元组序列是1,2,3....,n1,2,3....,n1,2,3....,n,对于每一个位置贡献为i−1 ...

  2. Ozon Tech Challenge 2020 (Div.1 + Div.2, Rated, T-shirts + prizes!)

    Ozon Tech Challenge 2020 (Div.1 + Div.2, Rated, T-shirts + prizes!) 题号 题目 知识点 A Kuroni and the Gifts ...

  3. Python做文本挖掘的情感极性分析

    Python做文本挖掘的情感极性分析 数据挖掘入门与实战2017-03-23 21:25:41line阅读(27)评论(0) 声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本 ...

  4. 【Transformer】AdaViT: Adaptive Tokens for Efficient Vision Transformer

    文章目录 一.背景 二.方法 三.效果 一.背景 Transformer 在多个任务上都取得了亮眼的表现,在计算机视觉中,一般是对输入图像切分成多个 patch,然后计算 patch 之间的自注意力实 ...

  5. 无监督学习 k-means_无监督学习-第3部分

    无监督学习 k-means 有关深层学习的FAU讲义 (FAU LECTURE NOTES ON DEEP LEARNING) These are the lecture notes for FAU' ...

  6. ml是什么_ML,ML,谁是所有人的冠军?

    ml是什么 The past few months must be not easy for millions of soccer fans including me. As a die-hard f ...

  7. 逻辑回归预测事件发生的概率_通过逻辑回归,对信用卡申请数据使用卡方分箱法预测违约率建模...

    一. 建模步骤 (1)从数据中衍生特征 (2)对类别型变量和数值型变量进行补缺 (3)基于卡方分箱法对变量进行分箱 (4)WOE编码后的单变量分析与多变量分析 (5)应用逻辑回归模型 (6)尺度化 ( ...

  8. 【机器学习】完整的机器学习项目演练:第一部分

    把机器学习拼接起来 通过阅读数据科学书籍或参加课程,可以感觉到你有各自的作品,但不太知道如何将它们组合在一起.采取下一步并解决完整的机器学习问题可能令人生畏,但保留和完成第一个项目将使您有信心解决任何 ...

  9. 【WebFace260M】《WebFace260M:A Benchmark Unveiling the Power of Million-Scale Deep Face Recognition》

    CVPR-2021 文章目录 1 Background and Motivation 2 Related Work 3 Advantages / Contributions 4 Datasets an ...

最新文章

  1. 《树莓派开发实战(第2版)》——1.15 使用蓝牙设备
  2. python编程未来就业方向有哪些?
  3. JAVAC 命令详解
  4. python与excel的差别-python数据分析相对于bi和excel的优势是什么?
  5. docker内外连通ros_docker容器内的ros外设使用与远程配置
  6. python写一个app接收摄像头传输的视频_使用Python的Flask框架实现视频的流媒体传输...
  7. C++之set()函数和get()函数探究
  8. openai-gpt_GPT-3:大惊小怪的是什么?
  9. matlab画动态简单轨迹,利用MATLAB绘制相轨迹
  10. java 2 实用教程部分课后答案
  11. VS2013 百度云资源以及密钥
  12. 电路串联和并联图解_电路串联和并联的区别有哪些
  13. oracle写求余函数,Oracle取余函数mod
  14. 何为文件系统,何为根文件系统?
  15. 阿里矢量图标iconfont在微信小程序的使用
  16. 基于随机森林、svm、CNN机器学习的风控欺诈识别模型
  17. R语言 基于共现提取《雪中悍刀行》人物关系并画网络图
  18. 亚洲研究院微软笔试题
  19. 使用js实现植物大战僵尸的一些基本功能
  20. 中兴失去的五年——未来该何去何从

热门文章

  1. 来潮汕,这些食物不吃后悔一辈子...
  2. 如何使用TensorFlow玩转深度学习?
  3. 美国劳工部揭露中国女人大数据,看完彻底傻眼了……
  4. mysql 调用未定义函数_php – Wierd和Annoying错误:调用未定义的函数mysql_query()[复制]...
  5. JDK安装及java环境配置_JDK安装及Java环境变量配置
  6. startindex 不能大于字符串长度_玩转云端丨redis的5种对象与8种数据结构之字符串对象(下)...
  7. windows分区给linux根目录,解决双系统安装Linux之后找不到Windows分区
  8. 每天的0点php,使用strtotime,这个月的第一天凌晨0点在PHP?(Using just strtotime, 0 am first day of this month in PHP?)...
  9. 索尼android 怎么截屏快捷键,索尼XZ Premium怎么截屏 2种索尼XZ Premium截图方法
  10. 循环遍历多层json_面试官:JSON.stringify() 实现深拷贝有什么问题