P5012-水の数列【并查集,RMQ】】的更多相关文章

如果我们能求出来每个区间个数的最大分值,那就可以用线段树维护这个东西 然后出答案了 然后这个的求法和(luogu4269)Snow Boots G非常类似,就是我们把数大小排个序,每次都拿<=x的位置去合并那个并查集,同时维护个数和大小 #pragma GCC optimize(3) #include<bits/stdc++.h> #define pa pair<double,int> #define CLR(a,x) memset(a,x,sizeof(a)) using…
P5012 水の数列 离线处理出选择每个数得到区间数得到刚开始的得分 \(RMQ_{ij}\)表示\(i\)~\(i\)+\(2^j\)-1的区间最大值 #include<cstdio> #include<vector> using namespace std; typedef long long LL; const LL maxn=1e6+10; inline LL Read(){ LL x=0,f=1; char c=getchar(); while(c<'0'||c&g…
题目描述 众所周知,TerryHu 是一位大佬,他平时最喜欢做的事就是蒸发学水. 机房的位置一共有n 行m 列,一开始每个位置都有一滴学水,TerryHu 决定在每一个时刻选择 一滴学水进行蒸发,直到机房里不再存在学水. TerryHu 想知道在每个时刻之后,机房里剩下的学水构成了几个联通块. 输入 第一行包含2 个正整数n,m. 之后n 行每行包含m 个正整数Ai;j,表示第i 行第j 列的学水在时刻Ai;j 被蒸发,保证{A} 构成了一个n *m 的排列. 输出 共n * m 行每行包含1…
A. Broken Clock time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output You are given a broken clock. You know, that it is supposed to show time in 12- or 24-hours HH:MM format. In 12-hours format…
dfs水过: /* Name: NYOJ--42--一笔画问题 Author: shen_渊 Date: 18/04/17 15:22 Description: 这个题用并查集做,更好.在练搜索,试试手 本来用的vector存放边,结果,vector并不能当做数组,遍历的时候只能用迭代器 中间没有数据的部分读取会出错 输入 第一行只有一个正整数N(N<=10)表示测试数据的组数. 每组测试数据的第一行有两个正整数P,Q(P<=1000,Q<=2000),分别表示这个画中有多少个顶点和多少…
正题 题目链接:https://www.luogu.com.cn/problem/P5012 题目大意 \(n\)个数字的一个序列,\(T\)次询问给出\([l,r]\)要求 找出一个最大的\(x\)满足.提出所有的小于\(x\)的数,然后被提出的数的连续区间长度平方和除以\(x\)的值最大 要求分出来的区间个数在\([l,r]\)之间 强制在线 \(1\leq n\leq 10^6,1\leq T\leq 10^3,1\leq a_i\leq 10^6\) 解题思路 考虑到\(x\)的取值不会…
题目给出图,要求判断不能一遍走完所有边,也就是无向图,题目分类是分欧拉回路,但其实只要判断度数就行了. 一开始以为只要判断度数就可以了,交了一发WA了.听别人说要先判断是否是联通图,于是用并查集并一起,然后判断是否有多个根. 用dfs的话就是深搜时标记下,最后看看有没有全部标记.我没用dfs做. 代码: #include <cstdio> const int maxn = 201; int f[maxn]; int d[maxn]; int find(int x) { if (x != f[x…
A. Night at the Museum time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Grigoriy, like the hero of one famous comedy film, found a job as a night security guard at the museum. At first night…
最近发现以前的东西都忘得差不多了,在这里刷刷水题 并查集: int find_parent(int x) { return x = p[x] ? x : p[x] = find_parent(p[x]); } void merg(int a,int b) { int x = find_parent(a); int y = find_parent(b); if(x != y) { p[x] = y; } } #include<iostream> #include<stdio.h> #…
PID379 / 约会计划 题目描述 cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而,最关键的是,cc能够很好的调解各各妹妹间的关系.mm之间的关系及其复杂,cc必须严格掌握她们之间的朋友关系,好一起约她们出去,cc要是和不是朋友的两个mm出去玩,后果不堪设想…… cc只掌握着一些mm之间的关系,但是cc比较聪明,他知道a和b是朋友,b和c 是朋友,那么a和c也是朋友. 下面给出m对朋友关系, cc 定了p次约会,每次约会找两个mm,如果…