codeforces div2 C. Ehab and a 2-operation task
题目链接:
http://codeforces.com/contest/1088/problem/C
题目大意,给你一个数组,数组中的数据不超过1e5,让你经过不超过n+1次的以下两个操作,变为是严格递增的数组。
1,输出1,j,x,表示对所有的1<=i<=j,arr[i]变为arr[i]+x,其中x<=1e6.
2, 输出2,j,x,表示对所有的1<=i<=j, arr[i]变为arr[i]%x,其中x<=1e6;
乍看这个题毫无头绪,但是仔细看一下题目的要求,只是要求通过不超过n+1次操作使数组变为严格递增。我们又注意到数组中的数据不超过1e5,而x确是不超过1e6,结合不超过n+1次操作我们可以有一个想法,不如首先对所有的数组加上5e5,然后从数组的开始一直遍历到结束,使得数组成为0,1,2,3,4,5.。。。。。因为比较小的数对大数取余还是它本身,所以对已经求出来的数是毫无影响,所以,通过以上操作可以使得数组严格递增。
代码如下:
#include <iostream>
#include <cstring>
#include <stdio.h>
using namespace std;
const int inf=2e3+7;
int arr[inf];int main()
{int n;scanf("%d",&n); for(int i=1;i<=n;i++)scanf("%d",&arr[i]);printf("%d\n",n+1);printf("1 %d 500000\n",n);for(int i=1;i<=n;i++)arr[i]+=500000;for(int i=1;i<=n;i++){printf("2 %d %d\n",i,arr[i]-i+1);}return 0;
}
codeforces div2 C. Ehab and a 2-operation task相关推荐
- codeforces div2 Not Assigning 题解
codeforces div2 Not Assigning 题解 原题链接 /* 题意:构造一棵素数树.素数树定义如下: 这颗树中任意一条边 or 任意两条边 权重之和为素数,每条边的权重自己分配. ...
- Codeforces#1157 F. Ehab and the Big Finale (思维+交互题)
链接: http://codeforces.com/contest/1174/problem/F 题意: 给你一颗树,需要你求出某个已知点,你有两种询问操作 问你能否在36次询问之内得知所求点 思路: ...
- 图论 ---- dijkstra变种dp Codeforces Div2 703 E. Paired Payment
题目链接 题目大意: 无向图,但是一次一定要走两步,权值为两个边边权和的平方.求1到其他每个点的最短距离. n∈[1,1e5],m∈[1,min(2e5,n(n−1)2)],wi∈[1,50]n\in ...
- Codeforces div2 #499 B. Planning The Expedition 大水题
已经是水到一定程度了QAQ- Code: #include<cstdio> #include<algorithm> #include<cstring> using ...
- Codeforces div2 D. Madoka and The Corruption Scheme
组合数学题 题意: 给定两个数n,k,共有2^n位选手进行2^k场淘汰赛,比赛方可以改变k场比赛的结果,要求最大化的最小值是多少. 思路:先看特殊情况当k>n时,比赛方可以控制最大序号的选手直接 ...
- Codeforces 1325 C. Ehab and Path-etic MEXs(贪心构造)
题目链接 题目大意 给定一棵树,有n个节点,现在为每个节点所在的边编号为0~n-2 问你怎样编号使得树上任意两点u,v的最大mex(u,v)值最小 mex(u,v)是指树上从u到v的一条简单路径上第一 ...
- CF #563 Div2 F. Ehab and the Big Finale //树链剖分(模板)+ 交互
题意:给一颗树,和一个隐藏的节点x,在36次询问内求出x. 每次询问: 1.询问x到某一结点u的距离 2.某个节点u到x的路径上,得到u的儿子节点(u必须是x的祖先,否则WA). 思路: 首先处理 ...
- Educational Codeforces Round 88 D. Yet Another Yet Another Task(巧枚举)
cf地址 **题目大意:**一个序列,你可以选择一个子段,要求去掉子段最大值后的和最大,求出这个最大值 **思路:**a[i]的范围比较小,可以通过枚举最大值,再找到最大值可以辐射的区间.经典套路了. ...
- codeforces 628.div2
# Codeforces 628.div2 A. EhAb AnD gCd B. CopyCopyCopyCopyCopy C. Ehab and Path-etic MEXs D. Ehab the ...
最新文章
- 爬虫10-股票信息定向爬取
- PHP error_reporting() 错误控制函数功能详解
- kotlin设置按钮不可点击_全彩LED显示屏软件空点功能如何设置、使用?
- CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)概念区分理解
- python破解压缩包密码(密码字典)
- 手机12306买卧铺下铺技巧_购买火车票下铺实用技巧
- 游戏使用html签名,利用HTML5实现电子签名板文字涂鸦代码
- java/php/net/python奖助学金评审管理系统设计
- 小程序获取微信登陆用户
- 【Axure高保真原型】用户详细画像可视化原型模板
- 万年历功能c语言,万年历(c语言多功能).doc
- 力扣:编写代码,移除未排序链表中的重复节点。保留最开始出现的节点。
- 【Mybatis】多表查询(一对多、多对一)
- 使用selenium自动登陆b站 图片文字验证识别
- 18_MySQL8其它新特性
- 【文献研究】车辆路径问题静态合作博弈的数学模型及算法实现
- Linux惊群效应之Nginx解决方案
- iTunes无法正常启动的处理
- win10笔记本如何连接蓝牙音箱
- 解决win10,wls2新装不能联网的问题