10.11cdy考试题
鸣谢cdy
math
【题目描述】
众所周知, xkj是GH的得意门生, 可是xkj的数学成绩并不是很理想; 每次GH在批评完数学限训做的差的人时, 总会在后面加一句:咱们班还有一位做的最差的同学——xkj,你看看你还有对号吗, 居然比CDY做的还差; xkj只好暗想: 我也很无奈啊,我已经很努力了啊;这次为了不挨批, xkj将他的数学题抛给了正在学oi的你;
【题目描述】
Xkj得到了n个硬币,每个硬币都有一个面值a[i];GH又给了他一个幸运数字(给了m次); 现在可以进行以下的转换; kj可以选择一个比k大的硬币i, 将a[i]-1;选择i左边或右边的硬币;将其+1; 经过数次变换之后问最大可以形成多长的一个连续硬币区间;使得每个硬币价值都不小于k;
【输入格式】
第一行两个整数 n , m 代表数组长度和询问个数。接下来一行, 第 i 个正整数表示 ai 。第三行 M 个正整数, 第 i 个正整数表示第 i 次询问的 k 。
【输出格式】
对于每个询问, 输出一个整数表示问题的答案。
【样例输入】
5 6
1 2 1 1 5
1 2 3 4 5 6
【样例输出】
5 5 2 1 1 0
【数据范围】
对于 20% 的数据, n≤10。
对于 40% 的数据, n≤1000。
对于 50% 的数据, n≤100000。
对于 100% 的数据, n≤1000000, m≤20, ai≤10^9, k≤10^9。
请选手注意自己的常数。
【题解】
题目描述很逗(注:是真人真事)
显然一个合法的区间的区间平均数大于等于询问的数字。不证。
对于每次询问,可以把所有数字减去询问的k,然后取一个前缀和操作,我们现在要求的是使得s[i]-s[j]>=0的最大的i-j。
对于左端点j,我们可以直接求出一个单调递减的下标数列代表左端点,至于怎么求,暴xjb力求一下就行了。
对于右端点i,我们每次可以找出对应的使得s[i]>=s[j]的最靠左的左端点j(所以这就是为啥我们要维护单调递减的数列),让右端点i从右往左扫,左端点j的初位置在单调数列的最右侧,这样我们的i在向左扫的过程中,j就不用向右扫了(因为向右扫之后肯定不会更新答案,不扫也不会更新),所以单次询问就是线性的了。
business
【题目背景】
Cdy, xkj, wzy师徒三人看到lsq, gxt等人做起生意, 赚起钱来, 不由得心里多了几分着急, 凭什么别人能赚钱而我却不能; 于是 师徒三人 凑在一起开始商讨 从商大计 有出资的 有出技术的有出场地的 ; 但师徒三人想在公司成立之间了解观察一下股市的情况, 他们有比较忙 就将任务交给了你来完成祝你好运;
【题目描述】
每天的股票都有一个初始值a[i];由于股市会有所波动 所以会有两种政令
1.对于一段区间l~r,将这段区间内所有股票值加上k;
2.对于一段区间l~r,将这段区间内所有股票值变为【a[i]/k】 ; (向下取整)
为了检验你的完成情况他们会对你有两种询问形式
3.给定l, r, 询问min(a[i])(i->l~r);(区间最小值)
4.给定l, 人, 询问sum(a[i])(i->lr);(lr)的区间和
【输入格式】
第一行为两个空格隔开的整数 n,q 分别表示所涉及的股票天数个数和政令 + 询问个数。
第二行包含 n 个由空格隔开的整数 a[1]∼a[n]
接下来 q 行, 每行表示一个操作, 第一个数表示操作编号 1∼4 ,
接下来的输入和问题描述一致。
即 op, l, r若op=1; 还会有一个x;
【样例输入】
10 10
-5 -4 -3 -2 -1 0 1 2 3 4
1 0 4 1
1 5 9 1
2 0 9 3
5
3 0 9
4 0 9
3 0 1
4 2 3
3 4 5
4 6 7
3 8 9
【样例输出】
-2
-2
-2
-2
0
1
1
【数据范围】
对于 30% 的数据, n,q≤10^3 ;
对于100%的数据1≤n,q≤105,1≤l≤r≤n,c∈[-104,104],k∈[2,109];
【题解】
不难看出这是一道线段树。
区间+,区间sum,区间min都是简单的,最关键是这个区间divfloor。
我们再维护一个区间max。
对于一个区间,我们对它进行区间div时,查询max和min注意要O(1)。
假设div的是k,那么对max进行divk的操作就相当于减去这个数:\displaystyle max-\left\lfloor\frac {max}k\right\rfloor
对min的也类似:\displaystyle min-\left\lfloor\frac {min}k\right\rfloor。如果这两个值相等,那么整个区间减去的数就相同了,维护一个区间减即可。
如果不同,就递归下去(就像自适应Simpson一样)
注意卡常,区间减要直接原地做减法,各种卡常才能过,一开始tmd最大的点跑几百秒,最后卡了好几次才卡进2秒,感谢各位同学的代码参考。。。
dance
【题目描述】
最近xkj沉迷于透彻无法自拔,无聊的他他又开始学起了跳舞(为了更好地找妹子吗)xkj有比较奇特他不喜欢在平地上跳舞, (哎, 有障碍才刺激啊) 于是他在一片狼藉的地上跳起了他的八字小舞; 但是同时他又想考考你, 你当然可以回答出所有问题
【题目描述】
此片土地的大小为n*m, (当然包括障碍)初始时xkj在某一个位置;Xkj在某一个时间段(L1,R1)内会向x1行动,时间段(L2,R2)内会向x2行动, 以此类推总共有T个时间段, 并且所有时间段均满足L[i+1]=R[i]+1,L[1]=1;其中x1,x2,……xT均为上下左右(东南西北)的一种;为了使xkj不撞到障碍你可以耗费一点能量让他不动,(当然是因为不能撞死他啦, 虽然他很爱fb);问xkj在R[T]这个时刻内最多能移动多远的距离(你耗费能量定住他时, 他边不会移动);
【输入格式】
输入文件的第一行包含5个数n, m, x, y和T。 N和M描述舞厅的大小,x和y为xkj的初始位置;以下n行, 每行m个字符。 第i 行第j 列的字符若为‘. ’ , 则表示该位置是空地; 若为‘x ’ , 则表示有障碍。以下T行, 顺序描述T个时间段, 格式为: Li Ri di(1 ≤ i ≤ T)。 表示在时间区间[Li, Ri]内, xkj向di方向移动。 di为1, 2, 3, 4中的一个, 依次表示北、 南、 西、 东(分别对应矩阵中的上、 下、 左、 右) 。
【输出格式】
输出文件仅有1行, 包含一个整数, 表示xkj滑行的最长距离(即格子数)。
【样例输入】
4 5 4 1 3
..xx.
.....
...x.
.....
1 3 4
4 5 1
6 7 3
【样例输出】
3
【数据范围】
对于50%的数据, 1≤n m≤200, T≤200; 对于100%的数据, 1≤n,m≤200, t[n]≤40000。
【题解】
这道题原题是[NOI2005]瑰丽华尔兹,本来是单调队列优化dp,但是数据水,所以直接dp的复杂度是O(能过)//对于某些lrt大佬就是卡了
设f[i][x][y]为到第i个时间段的末尾,坐标在(x,y)最长距离。这里为了卡常我们刷表(推表):用f[i-1][x][y]推f[i][nx][ny],(nx,ny)为(x,y)在第i时段的方向能到达的所有点(不超时并且不撞墙的点)。dp取max转移即可。
单调队列优化不会,反正NOIP应该不考。
cdy的题真是难(省选知识点。。。话说我的数学题???NOIP考什么数学 小凯的疑惑。。。)
10.11cdy考试题的更多相关文章
- POI 2018.10.20
[POI2005]BANK-Cash Dispenser 有多少个4位字符串是所有操作序列的子串. 10^4枚举字符串.暴力判断会TLE 发现,我们就是在每个操作序列中不断找第一个出现的c字符. 预处 ...
- 【luogu P1666 前缀单词】 题解
题目链接:https://www.luogu.org/problemnew/show/P1666 10.13考试题 当时没想出来,觉得是要用trie做,在trie上跑一个树形dp 结果是写了个子集枚举 ...
- kma 2019CSP前刷题记录
2019/10/25 \([LNOI2014]\ LCA\) \([Luogu\ P2774]\) 方格取数问题 \(Gauss\)消元板 \([JSOI2008]\)球形空间产生器 2019/10/ ...
- 我的这10年——从机械绘图 到 炼油 到 微软MVP 的华丽转身
年底了,各种总结计划满天飞,有空的时候我也一直在思考这么多年,是怎么过来的.也曾经很迷茫,希望经验和经历能给大家一点带来一点正能量的东西.10年很长,10年前说实话我没有思考过现在的样子,但10年前的 ...
- 20162330 第10周 MySort实验
关于MySort的进一步实践 课堂作业题目如下: 模拟实现Linux下Sort -t : -k 2的功能.参考Sort的实现.提交码云链接和代码运行截图. import java.util.*; pu ...
- 中期linux课程考试题
[口头表达] 1)请描述你了解的磁盘分区的相关知识2)什么是rsync,你有什么生产环境的应用?3)在生产环境中,公司的IDC机房即将超过254台机器,请问你有什么解决方案来规划扩展IDC机房的内网网 ...
- linux --- 10.常见命令
1.在登录Linux时,一个具有唯一进程ID号的shell将被调用,这个ID是什么()A.NID B.PID C.UID C.CID 2.下面那个用户存放用户密码信息()A./boot B./etc ...
- python基础数据类型考试题
Python基础数据类型考试题 考试时间:两个半小时 满分100分(80分以上包含80分及格) 一,基础题. 1,简述变量命名规范(3分) 2,字节和位的关系 ...
- python学习之老男孩python全栈第九期_第一次周末考试题(over)第三次添加完毕
day 6python基础数据类型考试题 考试时间:两个半小时 满分100分(80分以上包含80分及格) 一,基础题. 1. 简述变量命名规范(3分) 答:(1) 变量为数字,字母以及下划线的任意组合 ...
随机推荐
- Python之整数,浮点数和布尔类型
整数和浮点数有那个四则运算: 两种类型的数可以直接进行加减,当整数和浮点数进行加减的时候,结果会自动的变为浮点数,其中除法运算是“/”来表示的, 而余数的算术符号是“%”来表示的.如果是为了求除完后的 ...
- oracle系统函数(日期函数)
oracle系统函数(日期函数) 调用日期函数时,首先要明确两个概念,时间戳和日期是不同的,日期中包括年月日但不包括小时分钟秒,时间戳包括年月日小时分钟秒.在oracle中,一般情况下,函数中包含da ...
- re.findall 两个连续匹配成功的输出后一个
- MSSQL 日期查询 包含NULL值
方一: 以下做法保证数据里面没有NULL值 '') '') '') '') exec sp_executesql N'select ide_code as ''系统编号'',name as ''申请专 ...
- Ajax入门(一)从0开始到一次成功的GET请求
什么是服务器 网页浏览过程分析 一个完整的HTTP请求过程,通常有下面7个步骤 建立TCP连接 Web浏览器向Web服务器发送请求命令 Web浏览器发送请求头信息 Web服务器- 应答 Web服务器- ...
- 如何关闭打开了多个activity的activity
专门建立一个类,内部有一个静态的linklist对象,用来记录打开的activity,如果该ACTIVITY没有被打开过,在每一个activity oncreate方法中将自己的实例加入这个list. ...
- 第2章 构建springboot工程 2-1 构建SpringBoot第一个demo
以后的趋势肯定是以一个微服务为主导的, Spring-Boot的指导 Maven整个环境构建之前的整个项目其实是一个很普通的J2SE项目,它构建完之后会进行重构,重构为Maven的一个项目路径.可以看 ...
- SpringBoot11 读取properties文件、发送邮件
1 读取properties文件 1.1 ResourceBundle 帮助我们事先国际化 1.1.1 前提 properties文件的命名方式必须体现除语言和国别 例如:test_zh_CN.pro ...
- Eclipse安装Web/JavaEE插件、Eclipse编写HTML代码
1 Eclipse没有Web插件和JavaEE插件咋整 1.1 在Eclipse中菜单help选项中选择install new software选项 1.2 在work with 栏中输入 http: ...
- PCL—关键点检测(Harris)低层次点云处理
博客转载自:http://www.cnblogs.com/ironstark/p/5064848.html 除去NARF这种和特征检测联系比较紧密的方法外,一般来说特征检测都会对曲率变化比较剧烈的点更 ...