首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
【NOIP模拟赛】公主的朋友 区间染色问题
】的更多相关文章
【NOIP模拟赛】公主的朋友 区间染色问题
这道题大家都用的分块,然而我发现这是一个经典算法:区间染色问题. 我们区间染色时把区间分成若干连续的颜色段,然后我们每次染色删除原来的颜色段插入新的颜色段. 我们发现我们的时间复杂度直接与我们要染色区间内的颜色段数有关,而且颜色段数就等于我们要处理的区间内的分界点+1,我们可以证明我们处理的分界点数最多n+m:一开始我们假设有n个不同的区间(即所有相邻颜色都不相同),并且我们每次染色都产生两个新的分界点(即每次染色都与两边区间内的颜色不同),那么我们产生的分界点数最多n+m. 我用的是set处理…
noip模拟赛 第k大区间
[问题描述] 定义一个长度为奇数的区间的值为其所包含的的元素的中位数. 现给出n个数,求将所有长度为奇数的区间的值排序后,第K大的值为多少. [输入] 输入文件名为kth.in. 第一行两个数n和k 第二行,n个数.(0<=每个数<231) [输出] 输出文件名为kth.out. 一个数表示答案. [输入输出样例] kth.in kth.out 4 3 3 1 2 4 2 [样例解释] [l,r]表示区间l~r的值 [1,1]:3 [2,2]:1 [3,3]:2 [4,4]:4 [1,3]:2…
NOI.AC NOIP模拟赛 第三场 补记
NOI.AC NOIP模拟赛 第三场 补记 列队 题目大意: 给定一个\(n\times m(n,m\le1000)\)的矩阵,每个格子上有一个数\(w_{i,j}\).保证\(w_{i,j}\)互不相同.\(q(q\le5\times10^5)\)次询问,每次给出\(x,y\),询问有多少数满足在本行是第\(x\)大,在本列是第\(y\)大. 思路: 对每行.每列分别排序,求出每个数是本行.本列第几大.然后即可预处理答案. 时间复杂度\(\mathcal O(n^2\log n)\). 源代码…
contesthunter暑假NOIP模拟赛第一场题解
contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath> #include <iostream> using namespace std; #define MAXN 100010 struct node { int a,b,c; }ans[MAXN]; int main() { int R, G; scanf("%d%d",&…
CH Round #52 - Thinking Bear #1 (NOIP模拟赛)
A.拆地毯 题目:http://www.contesthunter.org/contest/CH%20Round%20%2352%20-%20Thinking%20Bear%20%231%20(NOIP模拟赛)/拆地毯 题解:按最大生成树顺序加k条边即可 代码: +; ..maxn] of int64; fa,a,b:..maxn] of longint; i,j,n,m,k:longint; ans:int64; function find(x:longint):longint; begin…
NOIP模拟赛-2018.11.6
NOIP模拟赛 今天想着反正高一高二都要考试,那么干脆跟着高二考吧,因为高二的比赛更有技术含量(我自己带的键盘放在这里). 今天考了一套英文题?发现阅读理解还是有一些困难的. T1:有$n$个点,$m$天,第$[1,m]$天每天会把最大公约数是$m-i+1$的数连边,给出$q$组询问,询问给出的两点最早被连接起来是什么时候.$n,m,q<=10^5$ 一开始以为是一道求$gcd$的签到题...后来发现还可以这样:$3->6,6->8$,所以不用等到最后一天$3,8$就连通了. 首先可以想…
NOI.AC NOIP模拟赛 第六场 游记
NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下.左.右.左上.左下.右上.右下这\(8\)个方向移动.其中每一个皇后可以攻击这八个方向上离它最近的皇后. 求有多少皇后被攻击到\(0,1,\ldots,8\)次. 保证\(m\)个皇后中任意两个不在同一个位置. 思路: 考虑左右方向的攻击,对每一行开一个set,按列编号插入,看一下是否存在前驱/后…
NOI.AC NOIP模拟赛 第一场 补记
NOI.AC NOIP模拟赛 第一场 补记 candy 题目大意: 有两个超市,每个超市有\(n(n\le10^5)\)个糖,每个糖\(W\)元.每颗糖有一个愉悦度,其中,第一家商店中的第\(i\)颗糖果的愉悦度为\(A_i\),而第二家商店中的第\(i\)颗糖果的愉悦度为\(B_i\). 在每家商店买的糖果会被打包到一个袋子中(可以在一家商店什么都不买,此时认为这家商店的袋子为空).因为这两个袋子外观是一样的,所以会从两个袋子中随机选择一个,然后吃光里面的糖果.定义一种买糖果的方案的愉悦度为:…
【BZOJ 2957】楼房重建&&Codechef COT5 Count on a Treap&&【NOIP模拟赛】Weed 线段树的分治维护
线段树是一种作用于静态区间上的数据结构,可以高效查询连续区间和单点,类似于一种静态的分治.他最迷人的地方在于“lazy标记”,对于lazy标记一般随我们从父区间进入子区间而下传,最终给到叶子节点,但还有一种做法就是对于作用域一整个区间的标记,就将其放置在此区间节点,查询时再结算其贡献,但无论怎样我们都要保证我们查询到的区间信息的真实性完整性,这就意味着我们接触一个区间若要了解到他的全部有用信息,并不用进入其下层区间(以上两种标记方式往往再结合出现时有巧妙的用处).于是我们必须高效地合并子区间的信…
【HHHOJ】NOIP模拟赛 玖 解题报告
点此进入比赛 得分: \(100+20+100=220\)(还不错) 排名: \(Rank\ 16\) \(Rating\):\(+20\) \(T1\):[HHHOJ263]「NOIP模拟赛 玖」三个和尚(点此看题面) 第一眼看完毫无想法. 仔细思考,可以发现一个性质:只要原数数位之和\(sum\)不能被\(3\)整除,就说明无解. 然后就很简单了,只要使输出的\(3\)个数数位之和全部为\(\frac{sum}3\)即可. 代码如下: #include<bits/stdc++.h> #de…