湖南国庆模拟赛day1 分组】的更多相关文章

题目大意:给你一个n个数的数列s,要对这些数进行分组,当有任意两个数在一种方案在一起而在另一种方案中不在一起算是两种不同的方案,一个组的"不和谐程度"为组内数的极差,如果只有一个人的话,此组的不和谐程度为0,求有多少种分组方式,使所有组的不和谐程度不超过k? 数据范围 1<=n<=200,0<=k<=1000,1<=si<=500 样例 input1 4 5 1 3 5 7 output1 9 input2 5 6 1 4 5 8 9 output2…
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的讲学计划 题解:刚开始理解题意理解了好半天,然后发现好像就是tarjan之后求个最长链? 然后题目规定了从1出发,那么就只将scc[1]放入初始队列. 然后只有10分... 后来我发现了这样的情况:因为只有scc[1]放入了队列,所以其它入度为0的并没有被放入队列,这使得一些点的inp无法减到0,以致无法更新答案 然后我就先从scc[1]dfs了一…
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP+优化,因为昨天刚水了一道线段树优化DP的题,所以又想到线段树上去了... 具体做法: 我维护了一个单调递增的f,显然若i<j并且f[i]>f[j],那么f[j]就可以不用 然后我们要找寻>=a[i]的就是连续的一段了,就可以用线段树来查询f[j]-s[j]的最大值了 然后 n*logn 水…
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的新书 题解:看到这题就想到了 poetize 的封印之门,然后就用差分序列水过了...不过把线段排序也可以一遍扫出来? 代码: #include<cstdio> #include<cstdlib> #include<cmath> #include<cstring> #include<algorithm&g…
A.数三角形 题目:http://www.contesthunter.org/contest/CH%20Round%20%2348%20-%20Streaming%20%233%20(NOIP模拟赛Day1)/数三角形 题解:暴力枚举三元组,判断是否共线即可,用叉积 代码: type cp=record x,y:double; end; ..] of cp; i,j,k,n,ans:longint; function cross(a,b,c:cp):double; begin cross:=(b…
A.珠 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2354%20-%20Streaming%20%235%20(NOIP模拟赛Day1)/珠 题解:sb题,把原串复制一边接到后面然后来回扫两遍即可. sb题还不能A,我是大sb,数组开小+只扫一遍=90 幸亏出题人数据良心T_T 代码: #include<cstdio> #include<cstdlib> #include<cmath> #include<cstring&…
山东多校联合模拟赛 day1 题不难 rect [问题描述] 给出圆周上的 N 个点, 请你计算出以这些点中的任意四个为四个角,能构成多少个矩形. 点的坐标是这样描述的, 给定一个数组 v[1..N], 假设圆心为(0, 0), 圆的周长 C=∑v[1..N] , 第一个点坐标为(0, C/(2π)). 从第一个点开始, 顺时针沿圆周走 v1 个单位长度,此时坐标为第二个点的坐标,再走 v2 个单位长度,此时为第三个点的坐标,当走完 v1, v2..vi个距离后,为第 i+1 个点的坐标(全过程…
[考完试不想说话系列] 他们都会做呢QAQ 我毛线也不会呢QAQ 悲伤ING 考试问题: 1.感觉不是很清醒,有点困╯﹏╰ 2.为啥总不按照计划来!!! 3.脑洞在哪里 4.把模拟赛当作真正的比赛,紧张起来!!! 好了不扯淡了... -------------------------------------------------------------------------------------------------------------------------------------…
下午到了机房之后又困又饿,还要被强行摁着看英文题,简直差评 第一题是NOIP模拟赛的原题,随便模拟就好啦 本人模拟功力太渣不小心打错了个变量,居然调了40多分钟QAQ #include<cstdio> #include<cstring> #include<iostream> #include<cstdlib> #include<algorithm> using namespace std; const int maxn=100010; char…
Day1 210pts(含T1莫名的-10pts和T3莫名的-30pts) 100+70+40=210 rank 29 这道题第一眼看是字符串匹配问题什么KMP啊,又想KMP不会做啊,那就RK Hash 吧,结果Hash打了一半发现Hint:要全排列, 然后掐指一算3000!一定爆所以换思路,对于区间[l,r]字符种类和对应数目与前面那个串完全相同就是一个匹配,常数是52,应该能过 # include <bits/stdc++.h> using namespace std; ],b[]; ],…
T7983 大芳的逆行板载 题目背景 大芳有一个不太好的习惯:在车里养青蛙.青蛙在一个n厘米(11n毫米s)的Van♂杆子上跳来跳去.她时常盯着青蛙看,以至于突然逆行不得不开始躲交叉弹.有一天他突发奇想,在杆子上每1厘米为一个单位,瞎涂上了墨水,并且使用mOgic,使青蛙跳过之处墨水浓度增加x.当然,他还会闲着无聊滴几滴墨水再涂♂抹均匀. 他现在无时无刻都想知道,第l厘米到第r厘米墨水的浓度是多少? 哦不!等等,他现在找到了一个计算器,可以输入几个数字与x,计算他们的x次幂和,所以...他想知道…
回形遍历( calc .cpp/c/pas) 时间限制:1s内存 限制: 256MB [问题 描 述] 给出一个 n*m 的棋盘,按如下方式遍历,请问(x,y)往后 z 步走到的是哪个格子. [输入] 输入文件名为 calc.in.一行,包含五个整数:n,m,x,y,z [输出] 输出文件名为 calc.out.输出一行,包含两个整数,表示所在格子的横纵坐标 [输入输出样例] calc .in calc .out 4 5 3 0 5 2 4 [ 样例解释 ] [数据说明] 对于 70%的数据,1…
这就是一个模拟题,注意1234分别对应左右上下横坐标和纵坐标的判断就好了 题解: 需要注意的是,向上取整ceil函数是对于一个double值返回一个double值,也就是说在ceil里面的类型一定要是double,否则会炸 代码: #include<cstdio> #include<iostream> #include<cstdlib> #include<cmath> #include<cstring> #include<string>…
T1 传送门 解题思路 这似乎是小学数学知识???mod 9就相当于各位之和mod 9,打表求了个逆元,等差数列求和公式就行了. #include<iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; typedef long long LL; inline LL rd(){ LL x=,f=;char ch=getchar(); :;ch=getc…
/* 暴力枚举两个后缀,计算最长能匹配多少前缀. 最优策略一定是贪心改掉前 k 个失配的字符. 时间复杂度 O(n3). */ #include<cstdio> ],b[]; int main(){ freopen("master.in","r",stdin);freopen("master.out","w",stdout); scanf(,b+); ;i<=n;i++);j<=n;j++) ;x<…
/* 假设路径是 a − b − c − d,考虑枚举中间这条边 b − c,计 算有多少可行的 a 和 d. 设 degx 表示点 x 的度数,那么边 b − c 对答案的贡献为 (degb − 1)(degc − 1)− 经过 b − c 这条边的三元环个数. 计算三元环的个数只需要枚举除 b; c 之外的另一个点即可. 位运算优化 */ #include<cstdio> ; ],m,n,i,j,d[N];char g[N][N];long long ans; ]+cnt[x&];…
/* 依旧考虑新增 2^20 个点. i 只需要向 i 去掉某一位的 1 的点连边. 这样一来图的边数就被压缩到了 20 · 2^20 + 2n + m,然后 BFS 求出 1 到每个点的最短路即可. 时间复杂度 O(20 · 2^20 + n + m) */ #include<cstdio> ,M=; int n,m,i,x,y,cnt,g0[N],g1[N],v[M],nxt[M],ed,h,t,q[N],d[N]; void add(int*g,int x,int y){v[++ed]=…
最近参加了很多CH上的比赛呢~Rating--了..题目各种跪烂.各种膜拜大神OTZZZ T1珠 描述 萌蛋有n颗珠子,每一颗珠子都写有一个数字.萌蛋把它们用线串成了环.我们称一个数字串是有趣的,当且仅当它的第1位是2,且除了第1位以外的每一位都是3.例如,2,233,2333333都是有趣的数字串.现在,你可以从这串珠子的任意一颗开始读,沿着顺时针或逆时针方向,到任意一颗珠子停止.这样,你就可以读出一个数字串来.萌蛋想知道,所有能读出的有趣的数字串当中,最长的是哪一个数字串.当然,你也可能读不…
思考了一下第二题,觉得有无数种乱搞做法 类似什么bitset压位,MCS染色之类奇怪的做法 然而都是玄学正确性或者玄学复杂度 先放题解把 第一题显然具有单调性,二分就可以啦 O(nlogn),貌似输出要求去尾QAQ #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<cstdlib> #include<cmath> #de…
QAQ太困了,大概说一下自己的思路: 其实这题很容易看错题目或是想错,就比如我个傻逼,一开始以为p+q一定等于n.... 咳咳...其实这题不用想太多,我们可以通过这n个字符串一个个假设正确或是不正确而得出正确的答案: 就如,满分为0的情况,假设第i个是错的,比较a[i]和其他字符串,如果不存在相反的字符串,我们认为,假设成立:正确的答案就为其相反的答案: 找到字典序最小的: 零分为0的情况,直接找字典序最小的即可: 至于满分和零分都不为0的情况,我们假设,a[i]是正确的,可知当前假设下,有多…
点此进入比赛 T1:小凯的数字 题意:给定q个l,r,求l(l+1)(l+2)...(r-1)r模9的结果 很显然,这是道考验数(运)学(气)的题目 结论:输出\((l+r)*(r-l+1)\over2\)(具体证明见比赛官方博客) 需要注意的是不能直接乘,不然会爆long long 而且,这道题卡快读... Code: #include<bits/stdc++.h> #define ll long long using namespace std; ll q,l,r; int main(){…
题目传送门:https://www.luogu.org/problemnew/show/P3938 这题出得特别吼啊~~ 通过打表或者大胆猜想斐波那契数列的一些性质,我们不难发现对于一只兔子$x$,其父亲必为$x-Fk$($F$为斐波那契数列,且$F_{k}$为不大于$x$的最大数字),举个例子:$7-5=2$,$11-8=3$,对于点$x$和点$y$,我们分别求出其所有直系祖宗,然后扫一遍即可. 由于斐波那契数列为指数级增长,故向上跳的复杂度为一个$log$级别,时间复杂度为$O(m*log(…
U41568 Agent1 题目背景 2018年11月17日,中国香港将会迎来一场XM大战,是世界各地的ENLIGHTENED与RESISTANCE开战的地点,某地 的ENLIGHTENED总部也想派Agent去参加这次的XM大战,与世界其他地方的ENLIGHTENED并肩作战. 题目描述 某地的ENLIGHTENED总部总部有N个Agent,每个Agent的能力值互不相同,现在ENLIGHTENED行动指挥想要派出A,B两队Agent去参加XM大战.但是参加大战的两个队伍要满足两个要求: A队…
http://ch.ezoj.tk/contest/CH%20Round%20%2354%20-%20Streaming%20%235%20%28NOIP%E6%A8%A1%E6%8B%9F%E8%B5%9BDay1%29 果然太蒟蒻.t2和t3都是骗分滚粗.. t2各种逗啊,自己硬是只mod一个不mod两个,,,sad. t3骗分过程中也是各种逗啊,虽然改骗的良心都骗了orz.. rp会不会暴跌啊. 另无限orzZYF神犇,千古神犇zyf,只是手抖丢了t1十分,orz..千古神犇zyf,ran…
10分算法:对于城市网络为一条单向链的数据, 20分算法:对于n<=20的数据,暴力搜出所有的可能路径. 结合以上可以得到30分. 60分算法:分析题意可得使者会带着去的城市也就是这个城市所在强联通分量的其他城市,这个过程的代价也就是这个强联通分量的城市数-1,且他可以选择任何一个其中的城市离开这个强联通分量.于是我们求出所有强联通分量,记录下每一个包含的城市数,然后缩点.接下来再用dfs,由于数据是构造的,只能得到60分. 100分算法:在缩点之后,这个图变成了一个有向无环图,我们将一条边连向…
//上图绿色扫描线右侧少画了一条扫描线. 很多区间把数轴分成了很多段,看哪个点的(区间覆盖数*该点权值)最大. 显然在某个区间的右端点的答案是最优的. 排序后 用扫描线从左到右扫描,维护每个点的覆盖数,就是遇到左端点时cnt++,右端点时更新ans.cnt--. 若某个点既有左端点,又有右端点,就把左端点放在前面. #include<cstdio> #include<iostream> #include<algorithm> using namespace std; t…
T7925 剪纸 题目描述 小芳有一张nnn*mmm的长方形纸片.每次小芳将会从这个纸片里面剪去一个最大的正方形纸片,直到全部剪完(剩下一个正方形)为止. 小芳总共能得到多少片正方形纸片? 输入输出格式 输入格式: 一行两个整数nnn和mmm 输出格式: 一行一个整数,总共能得到的纸片数量. 输入输出样例 输入样例#1: 6 4 输出样例#1: 3 说明 对于30%的数据满足n=1n=1n=1 对于60%的数据满足n,m≤103n,m\leq 10^{3}n,m≤10​3​​ 对于100%的数据…
矩形计数(rect) Description 给出圆周上的 \(N\) 个点,请你计算出以这些点中的任意四个为四个角,能构成多少个矩 形. 点的坐标是这样描述的,给定一个数组 \(v[1..N]\),假设圆心为\((0,0)\),圆的周长 \(C=\sum_{i=1}^{N} v_i\) ,第一个点坐标为\((0,C/(2π))\).从第一个点开始,顺时针沿圆周走 \(v_1\) 个单位长度, 此时坐标为第二个点的坐标,再走 \(v_2\) 个单位长度,此时为第三个点的坐标,当走完 \(v_1,…
第一题:队爷的新书 题意简述:给定n个闭区间,求出一个数p使它与包含它的区间数的积最大,输出这个积. 分析:使用一个差分数组g,每个区间[l,r],l位置加1,r+1的位置减1,从前往后统计,得到对于每个p包含它的区间个数,相乘看是否最大.由于数据较大,需要离散化. program book; var a,f,g:..]of qword; l,r:..]of longint; n,i,m:longint; sum,ans:qword; procedure qsort(l,h:longint);…
题外话:以Ingress为题材出的比赛好评,绿军好评 T1 考虑枚举第\(i\)个人作为左边必选的一个人,那左边剩余\(i-1\)个人,选法就是\(2^{i-1}\),也就是可以任意选或不选,右侧剩余\(n-i\)个人,选法就是\(\sum\limits_{j=1}^{n-i}C_{n-i}^j\),容易发现就是\(2^{n-i}-1\)种选法,于是第i个人的贡献就是\(2^{i-1}\times(2^{n-i}-1)\),化简式子即可得到答案. #include<iostream> #inc…