10.9 guz模拟题题解
感谢@guz
顾z的题题解
考试共三道题,其中
第一题help共10个测试点,时间限制为 1000ms,空间限制为 256MB.
第二题escape共20个测试点,时间限制为1000ms2000ms,空间限制1MB16MB。
第三题cure共20个测试点,时间限制为 1000ms,空间限制为 256MB.
PS:题目背景与题目本身无关,可跳过
help
题目背景
在梦中,王 小 呆 到了一个神秘的地方.这里是昆虫王国!国王见王 小 呆 好生俊俏,便给了他一杯昆虫国的老白干.王 小 呆一口下肚,突然出现了问题!"这酒有毒!"突然,王 小 呆在梦中又睡着了.
题目描述
梦中的王 小 呆饿了!他竟然想吃蚂蚁!我们要救他!王 小 呆发现了有n 只 蚂蚁排成一队,每只蚂蚁身上有一个编号\(a_i\) 他想吃掉他们。但是这些蚂蚁部分是有毒的,我们为了救他,只能帮他挑选出zmj蚁.吃了zmj 蚁,王 小 呆才能恢复正常.
某一段区间中 zmj蚁的数量是
该段区间中不能被这个区间的区间gcd整除的蚂蚁的个数。该段区间中不等于区间gcd的蚂蚁个数
输入输出格式
输入格式
第一行给出一个整数n ,代表有n 只蚂蚁.
第二行给出n 个整数\(a_i,a_2,\dots,a_n\)
第三行给出一个整数 \(m\),代表有 \(m\)次询问.
接下来\(m\) 行,每一行给定 \(l,r\),询问 \([l,r]\)里的zmj 蚁的数量。
PS:找出 蚁之后,王 小 呆 并不会直接吃掉他们.即原序列中 蚁数量不变.
输出格式 共 m行,每一行对应一个询问.
输入输出样例
输入样例 #1:
5
1 3 2 4 2
4
1 5
2 5
3 5
4 5
输出样例 #1:
4
4
1
1
数据规模
对于 30% 的随机数据 ,\(1\le n\le5000,1\le m\le500,1\le a_i\le10^4\) ,
对于 100% 的随机数据 , \(1\le n\le10^5,1\le m\le2\times10^4,1\le a_i\le10^9\),
题解
这题有好几种xjb算法,机房里面AC的基本上一个人一个算法,那么我就说说我的算法把。
倍增+树状数组。
首先我们可以通过倍增预处理gcd,令f[i][j]表示第i个点向右跳\(2^j\)步路上所有数的gcd。f[i][j]求法很简单:
f[i][j]=gcd(f[i][j-1],f[i+(1<<(j-1))][j-1]。
然后我们就可以在log的时间内求出一个区间的gcd了。所以我们求出所有区间的gcd,然后树状数组单点修改,区间查询。将所有区间按照gcd排序,所有数字也排个序,按照数字大小往树状数组里面塞值就行了。
escape
题目背景
终于王 小 呆被拯救了出来,他再也不想看见 zmj蚁了,可是这时 zmj国的蚁后:zmj 出现了!王 小 呆又被抓入了 zmj国忍受#@¥&!*~的酷刑,当王 小 呆 气息奄奄的时候, 皇后的一个仆人找到了王 小 呆 ,他要拯救王 小 呆 ,但是在救王 小 呆 之前他要考一考王 小 呆 ,并宣称如果王 小 呆 答对就会帮助他逃脱.但王 小 呆只剩一口气了,你能帮助他逃脱吗?
题目描述
仆人给出了n 个数字,这 n个不超过 n的正整数中, 其中有一个数出现了两次, 其余的数都只出现了一次, 他想让王 小 呆求这个出现两次的数.你能办到么?
输入输出格式
输入格式
共两行.第一行为一个整数 n,代表有\(n\) 个数字.第二行为 n个数字,每两个整数之间以一个空格间隔.
输出格式
一个整数,即出现两次的数.
输入输出样例
输入样例 #1:
3
2 3 3
输出样例 #1:
3
数据规模
对于 5%的随机数据, n<=5000
对于 15%的随机数据,n<=\(10^5\)
对于 50% 的随机数据,n<=10\(^6\)
对于 100% 的随机数据\(2\le n\le10^7\),
题解
空间一开始是1MB,std超空间了,后来guz改成了16MB,导致bitset能轻松水过。
我们来算一下bitset的空间:10的7比8Bytes,即1.25MB(那些说应该是1.1920928955078125MB的注意应该是1.1920928955078125MiB而非MB,这是Windows的锅,//初赛题CCF莫名背锅)不多扯了
反正我觉得要是内存限制正解能过但是bitset过不了,很不好设置,甚至无法设置。那就说说正解吧。
由于题目里是小于等于N的正整数,那么既然有一个数出现了两次(设为x),那么恰好有另一个数没有出现(设为y)。设输入为a,那么\(x-y=\sum{a_i}-\sum{i}\),并且\(\displaystyle\frac x y=\frac{\sum{a_i}}{\sum{i}}\)。解这个方程组即可。std在模意义下解的,但是也可以直接开double。
cure
题目背景
从 zmj国逃出来的王 小 呆 遇到了正在驾车的顾z,王 小 呆匆匆忙忙上了顾z的车.(随随便便上别人的车真的好嘛?)
伟大的无私的善良的不要脸的顾z看到王 小 呆奄奄一息的样子,很是心痛,便决定带他去海边的沝(zi)吅(xuan)山找那里的山女芽 佟 雪要千年冰宩来救命.但是上山之前,他们遇到了问题.想要找到山上的山女 芽 佟 雪 ,必须知道她家的温度.
题目描述
沝(zi)吅(xuan)山永远刮着风。风从地点 依次吹到地点 1,地点2 直到地点N ,共 N+1个地点。住在地点N。地点 的海拔 ,地点 0的海拔为 0。 风的温度随海拔升降而变化。地点 0在海边,温度为 0度;对于任一地点 ,从地点i 吹到地点i+1 的风的温差仅取决于两地的海拔差。具体来说:
如果 \(A_i=A_{i+1}\),风的温度不变;
如果 \(A_i<A_{i+1}\)风每爬升1米,温度就会下降S度;
如果 \(A_i>A_{i+1}\)风每爬升1米,温度就会升高T度;
沝(zi)吅(xuan)山的地壳运动很强烈。他们得到了Q天来地壳运动的数据。在第j日1<=j<=Q,地点\(L_j,L_{j+1},...,R_j(1\le L_j\le R_j\le N)\)的海拔升高了\(X_j\)。
注意\(x_j\)可能是负数。
他们的任务是,计算每天地壳运动后芽 佟 雪住所的温度。
输入输出格式
输入格式
第一行有四个整数\(N,Q,S,T\),用空格分隔。 在接下来的N+1行中,第i行(\(1\le i\le N+1\))有一个整数\(A_{i-1}\)。在接下来的Q行中,第j行\((1\le j\le Q)\)有三个整数\(L_j,R_j,X_j\),,用空格分隔。 输入的所有数的含义见题目描述
输出格式
共 \(Q\)行,第\(j\) 行\((1\le j\le Q)\) 有一个整数,表示第\(j\) 日地壳运动后 芽 佟 雪住所的温度。
输入样例
2 2 5 5
0
6
-1
1 1 4
1 2 8
输出样例
5
-35
数据规模
对于 30% 的数据N,Q<=2000 ,
对于另外20%的数据S=T, , 对于 100%的数据
\(1\le N\le2\times10^5,1\le S,T\le10^6\)
\(A_0=0,|A_i|\le10^6(1\le i\le N)\)
题解
据说这题是裸的差分!!?!?!?不用树状数组!?!??!
嗯好像是真的不用。
然而我用了
long long没开好
数组越界
骗了5分
mdzz
其实树状数组只是多一个log,而且常数贼他妈小一定是能AC的。
箰榤煁山。。。
差分就是每次修改去修改两个端点出温差相对值,同时直接维护答案。。。
懒得说了
10.9 guz模拟题题解的更多相关文章
- 10.8 wtx模拟题题解
填坑 orz w_x_c_q w_x_c_q的模拟赛(150pts,炸了) money 题目背景: 王小呆又陷入自己的梦里.(活在梦里...) 题目描述: 王小呆是一个有梦想的小菜鸡,那就是赚好多好多 ...
- 2019.10.1 qbxt模拟题
第一题 考虑树上\(DP\),f[i][j][0/1]表示以\(i\)为根的子树,入读为零点的个数为\(j\),点\(i\)的入度为\(0\)/不为\(0\)时的方案数 转移的时候考虑\(u\)的一个 ...
- 10.11 NOIP模拟题(1)
/* 离散化 差分 */ #include<bits/stdc++.h> #define N 4000007 using namespace std; int n,ans; int tmp ...
- POJ - 1835 宇航员(模拟题)
问题描述: 宇航员在太空中迷失了方向,在他的起始位置现在建立一个虚拟xyz坐标系,称为绝对坐标系,宇航员正面的方向为x轴正方向,头顶方向为z轴正方向,则宇航员的初始状态如下图所示: 现对六个方向分别标 ...
- [题解+总结]NOIP2015模拟题2
// 此博文为迁移而来,写于2015年7月22日,不代表本人现在的观点与看法.原始地址:http://blog.sina.com.cn/s/blog_6022c4720102w72i.html 1.总 ...
- PAT甲题题解-1095. Cars on Campus(30)-(map+树状数组,或者模拟)
题意:给出n个车辆进出校园的记录,以及k个时间点,让你回答每个时间点校园内的车辆数,最后输出在校园内停留的总时间最长的车牌号和停留时间,如果不止一个,车牌号按字典序输出. 几个注意点: 1.如果一个车 ...
- 《ACM国际大学生程序设计竞赛题解Ⅰ》——模拟题
这篇文章来介绍一些模拟题,即一类按照题目要求将现实的操作转换成程序语言. zoj1003: On every June 1st, the Children's Day, there will be a ...
- PAT甲题题解-1088. Rational Arithmetic (20)-模拟分数计算
输入为两个分数,让你计算+,-,*,\四种结果,并且输出对应的式子,分数要按带分数的格式k a/b输出如果为负数,则带分数两边要有括号如果除数为0,则式子中的结果输出Inf模拟题最好自己动手实现,考验 ...
- PAT甲级 模拟题_C++题解
模拟题 PAT (Advanced Level) Practice 模拟题 目录 1008 Elevator (20) 1042 Shuffling Machine (20) 1046 Shortes ...
随机推荐
- apache将不带www域名301重定向到带www的域名的配置方法
#强制重定向到wwwRewriteEngine OnRewriteCond %{HTTP_HOST} ^jb51.net/ [NC]RewriteRule ^(.*)$ http://www.jb51 ...
- python (面向对象相关的三个模块)
hashlib,configparser,logging模块 一.常用模块二 hashlib模块 hashlib提供了常见的摘要算法,如md5和sha1等等. 那么什么是摘要算法呢?摘要算法又称为哈希 ...
- sqlplus--sqlldr基础运用
a.ctl load data infile * ...
- Template Method模式和Strategy模式有何异同
Template Method模式和Strategy模式有何异同 博客分类: 设计模式 Java Template Method模式很容易理解,就是由基类提供一个模板,将各子类中不变的行为提取到基类 ...
- 第5章 选举模式和ZooKeeper的集群安装 5-1 集群的一些基本概念
xx就是我们的master,也就是我们的主节点.心跳机制,当有一个节点挂掉之后,整个集群还是可以工作的.选举模式,我们现在的master是正常运行的,但是在某些情况下它宕机了死机了,那么这个时候它这个 ...
- 4-4 zk特性 – 理解watcher机制
watcher是zk里面非常重要的特性.watcher一定要去好好地看一下,一定要去好好地理解一下它是如何去用的,包括触发的事件类型等等.监督者也可以理解为触发器,也就是说当我们的节点发生了一些变化的 ...
- linux 中更改权限命令chown,chmod,chgrp
写在前面,关于chown,chmod的区别 chown用法 用来更改某个目录或文件的用户名和用户组的 chown 用户名:组名 文件路径(可以是就对路径也可以是相对路径) 例1:chown root: ...
- java中的全局变量与静态变量的区别与联系?有时候为什么专门定义静态变量。(标题党~~)
static代表“每个类一个”而不是“每个对象一个”.即静态变量是类的所有对象共有的. 1 static JFrame f; static MyDrawPanel ml; 整个应用程序如下: 定义在p ...
- p4068 [SDOI2016]数字配对
传送门 分析 我们考虑对所有a[i]质因数分解,然后记cnt[i]为a[i]是由几个质数相乘得到的 然后我们建一个二分图,左面为所有cnt[i]为奇数的点,右面是为偶数的点 我们从源点向左面点连容量b ...
- Linux下面的IO模型
1. Linux下的五种I/O模型 阻塞I/O模型: 一直阻塞 应用程序调用一个IO函数,导致应用程序阻塞,等待数据准备好. 如果数据没有准备好,一直等待….数据准备好了,从内核拷贝到用户空 ...