Educational Codeforces Round 101 (Rated for Div. 2) D. Ceil Divisions(思维)
给出数 n ,数组 a 为 {1,2,3,……n},最多有 n+5 次机会,将任意两个不相等的数做 ceil(x/y) 运算,使得最后的数组 a 只有一个 2,其余全为 1,给出运算次数具体的运算步骤
构造类型的题目,要找到其中的规律,
- 对于大多数的数, 最大数/x,可以将 x 置为 1,但是要确保某些数将最大数变为 1
- 我们要使得最大数 maxx 变为 1,两遍 maxx/ceil(sqrt(maxx)),可以把 maxx 变为 1,这样ceil(sqrt(n)) 也变为了最大值,重复执行即可
比赛差 3 分钟,跑完样例后一边 AC。
const int N=2e5+5;int i,j,k;int n,m;int a[N]; int main()
{//IOS;rush(){cin>>n;for(int i=1;i<=n;i++) a[i]=0;m=n;vector<pii> ans;vector<int> v;v.pb(n);while(m!=2){m=ceil(sqrt(m*1.0));a[m]=1;v.pb(m);}for(int i=n-1;i>=2;i--){if(a[i]==0) ans.pb(mp(i,n));//if(a[i]==0) cout<<i<<" "<<n<<endl;}for(int i=0;i<v.size()-1;i++){ans.pb(mp(v[i],v[i+1]));ans.pb(mp(v[i],v[i+1]));//cout<<v[i]<<" "<<v[i+1]<<endl;//cout<<v[i]<<" "<<v[i+1]<<endl;}cout<<ans.size()<<endl;for(int i=0;i<ans.size();i++){cout<<ans[i].fr<<" "<<ans[i].sc<<endl;}}return 0;
}
Educational Codeforces Round 101 (Rated for Div. 2) D. Ceil Divisions(思维)相关推荐
- Educational Codeforces Round 101 (Rated for Div. 2) D. Ceil Divisions 思维 + 根号数
传送门 题意: 给一个数组ai=ia_i=iai=i,每次可以进行操作ax=⌈axay⌉a_x=\left \lceil \frac{a_x}{a_y} \right \rceilax=⌈aya ...
- Educational Codeforces Round 76 (Rated for Div. 2) E. The Contest 思维 + 差分
传送门 文章目录 题意: 思路: 题意: 给你三个长度分别为k1,k2,k3k1,k2,k3k1,k2,k3的数组a,b,ca,b,ca,b,c,其中k1+k2+k3=nk1+k2+k3=nk1+k2 ...
- Educational Codeforces Round 101 (Rated for Div. 2) C. Building a Fence 思维取范围
传送门 题意: 思路: 刚看到这个题其实是没什么思路,想过从前往后推或者从后往前推,但是都不是很可行.因为两边都有一个固定的挡板挡住,我们可以根据其中的一个算出来每个位置高度的范围,让后检查一下范围是 ...
- Educational Codeforces Round 101 (Rated for Div. 2) F. Power Sockets 哈希 + 乱搞
传送门 题意: 给一个二进制串aaa,让后定义两个串相似为有至少一个相同位置相等.现在让你找一个字典序最小的长度为kkk的串使其与aaa中每个长度为kkk的字串相似. 思路: 首先我们知道所有可能的串 ...
- Educational Codeforces Round 80 (Rated for Div. 2) E. Messenger Simulator 思维 + 树状数组
传送门 文章目录 题意: 思路: 题意: 给你nnn个人,一开始位置分别为1,2,...,n1,2,...,n1,2,...,n,让后mmm个操作,每次都将某个人移动到最前面,其他人依次顺延,求每个人 ...
- Educational Codeforces Round 88 (Rated for Div. 2) C. Mixing Water (思维,数学)
题目链接 题意: 给你一杯热水和一杯冷水,问你最少用几杯水,使得混合后的温度与给定的t温度最相近. (这里至少要用一杯水,并且,交替使用,比如:第一杯只能用热水,第二杯只能用冷水,第三杯只能用热水依次 ...
- Educational Codeforces Round 113 (Rated for Div. 2) D. Inconvenient Pairs 思维
题目大意 给你n条竖直线 m条水平线 k个点 这些点一定在刚才给出的线上 问你有多少个点对 满足之间的距离大于 曼哈顿距离 题目思路 当点在竖直线和水平线的交汇处时 这个点与其他任何点的距离一定等于曼 ...
- Educational Codeforces Round 126 (Rated for Div. 2)(A-E)
A-Array Balancing 题意:给定两个数组a,b,a数组第i个数可以和b数组的第i个数交换,最终求 a1−a2|+|a2−a3|+⋯+|an−1−an||a1−a2|+|a2−a3|+⋯+ ...
- Educational Codeforces Round 114 (Rated for Div. 2) (A ~ F)全题解
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Educational Codeforces Round 114 (Rated for Div. 2) ...
最新文章
- 启用关闭数据库归档(ARCHIVELOG)模式
- c语言最大公约数和最小公倍数_五年级数学最大公因数最小公倍数 练习
- Spring整合JDBC开发
- MySQL从零到一解读增量同步数据到elasticsearch canal adapter方式(binlog)实现
- win10+Xming+Xshell显示远程linux服务器的图形程序窗口
- Android BroadcastReceiver(一)
- 论文笔记_S2D.21_2014-CVPR_单张图像的离散-连续深度估计
- 编译问题处理:undefined symbol: OPENSSL_init_crypto
- linux调度器(五)——进程管理与CFS
- oracle表转为分区表,Oracle 在线重定义(将普通堆表转换成分区表)
- 热门软件看点:哇嘎和它的对手们
- 使用JMeter进行接口压力测试
- 数据库建模工具ER Studio 8 安装破解总结
- 数据分析师面试题攻略
- React Native入门——布局实践:开发京东客户端首页
- 共享手机 馅饼还是陷阱
- 充分利用居室空间 让阳台尽显万种风情
- gred-cam 的tensorflow实现 热力图
- 移民找老张解析:美国绿卡与美国公民身份的区别
- 面向过程、面向对象 的模型和方法
热门文章
- 5000¥笔记本...
- 电脑基本故障与解决方案
- [UBUNTU]挖矿病毒处理
- 备忘录html源码,HTML5备忘录
- 联想微型计算机机箱拆解,拆解:布局严谨的Acer C630_联想ThinkCentre台式电脑_台式电脑评测-中关村在线...
- 截图工具:红晴蜒抓图精灵
- JsonMap对象的获取与前台浏览器报错Uncaught TypeError: Cannot read property ‘map‘ of undefined
- 封闭了一个多月,终于完成了 数码杂志网 站内测版!
- 简单五步:利用Gitstats给代码仓库做一次体检
- 易语言给软件添加群验证视频教程+附完整模块