首页 > TAG信息列表 > POI2011

luoguP3521 [POI2011]ROT-Tree Rotations【线段树】

你要写热,就不能只写热。 要写酷暑,写骄阳,写他人耳闻便生恐的炙烤和炎灼。 要写白日出门一刻便肤色黝黑,背心透彻。 写求雨心切,写出行伞遮。 写夜晚不停的风扇和蝉聒。 写鸡蛋落地便熟,流水转眼耗涸。 再写千家万户空调响,西瓜冰可乐。 直至最后,才猛然起身,把浑身上下的黏腻腻,涓涓水冲

P3521 [POI2011]ROT-Tree Rotations (线段树合并)

对于一个非叶节点,不管是否要交换子树,其左右子树内部的逆序对数都不会受影响(内部的顺序并不会影响外部产生的逆序对数),受影响的是跨左右子树的情况,所以我们考虑统计这一部分的逆序对数。节点x的左右子树根节点为p,q,u+=size[t[p].rc] * size[t[q].lc],交换后 v+=size[t[p].lc]*size[t[q

#团,构造#洛谷 3524 [POI2011]IMP-Party

题目 有一个 \(3n\) 个点的无向图,保证有一个大小为 \(2n\) 的团,输出一个大小为 \(n\) 的团 分析 每次选择两个不相连的点删掉,那么剩下的 \(n\) 个点一定是团, 因为每次至少有一个不在大小为 \(2n\) 的团中的点被删除,所以剩下的点一定在团中。 但是只是最多删除 \(n\) 次,所以输出完

P3522 [POI2011]TEM-Temperature

题意: 数组中的每个数可在 \([l_i,r_i]\) 中任取,求最长不降子段的长度。 思路: 对某个位置 \(j\),\(i\) 能更新 \(j\) 当且仅当 \(l_k\le r_j,\forall k\in [i,j-1]\),即 \(r_j\ge \max l_k\)。为了最优,当然要用满足条件的最左的 \(i\) 来更新 \(j\) 单点队列维护递减的 \(l\),则队头是

P3521 [POI2011]ROT-Tree Rotations

一道线段树合并的题。 首先我们发现,如果我们交换了两棵子树,影响到的逆序对数量只会是这两棵子树交换之后数列改变的逆序对数量,对前面的数列和后面的数列并没有影响,对这两棵子树内部也没有影响,因为逆序对只关注相对位置及数的大小。 据此我们先建树,然后对于每个点整一棵值域线

P3522 [POI2011]TEM-Temperature 题解

link P3522 [POI2011]TEM-Temperature 给出 \(N\) 个区间 \([L_i,R_i]\) 表示第 \(i\) 天温度的范围 求出连续的最长上升温度的天数 sol 我们先来考虑一件事情:一段区间唯一的限制是最大的最低温度,如果一天的最大温度小于前面的最大的最低温度,那么这天不能和前面的连起来,必须作为头

[POI2011]PRO-Programming Contest

Bzoj2557     #include<bits/stdc++.h> #define int long long using namespace std; const int N=555; const int M=3e5+7; int n,m,r,t,T; int _; int head[N],nxt[M],to[M]; void add(int x,int y) { _++; nxt[_]=head[x]; head[x]=_; to[_]=y;

洛谷 P3513 [POI2011]KON-Conspiracy(2-sat方案数)

传送门 解题思路 求2-sat合法的方案数。 做法: 先基操判断有无解,并求出一组解。 然后考虑两个集合的人能否过去。 我们发现只有三种情况:A到B一个人,B到A一个人,AB交换一个人。 所以就 \(O(N^2)\) 判断AB集合中的人是否符合条件,最后方案数即为(A到B符合的人数+1)*(B到A符合的人数+1)+互换

P3520 [POI2011]SMI-Garbage(欧拉回路)

jisoo 可以证明,一定只需要考虑需要翻转的边 如果一种合法方案,需要翻转不需要翻转的边,那么就必然有一个过程是把这条边翻转过来, 那么这一条边有两种可能,要不它连着偶数个由需要翻转的边组成的环,要不是有许多同样的此类不翻转边组成的环 对于以上两种可能,可以发现都会出现需要翻转的

P3527 [POI2011]MET-Meteors 整体二分

整体二分模板题 不会的这里 首先横跨m的陨石降落可以拆分为不跨过m的两段 我们考虑第L~R场陨石降落,设\(mid=\frac{L+R}{2}\)。 把mid及以前可以完成任务的国家,丢到左边继续二分,不能完成任务的丢到右边继续二分。 当L=R时,此时国家的询问的答案是L。 修改&求和 用树状数组维护就OK;

BZOJ 2276: [Poi2011]Temperature 单调队列

Description The Byteotian Institute of Meteorology (BIM) measures the air temperature daily. The measurement is done automatically, and its result immediately printed. Unfortunately, the ink in the printer has long dried out... The employees of BIM howev

[POI2011]MET-Meteors

\(\text{Problem}\) [POI2011]MET-Meteors \(\text{Analysis}\) 为方便操作,我们把长度为 \(m\) 的环倍长,把修改 \(l < r\) 的 \(r\) 改为 \(r+m\) 而后就可以整体二分了 二分答案,把需要的修改放到树状数组,检查询问时一个一个枚举其所在位置,相应划分询问,继续二分 \(\text{Code}\) #

P3515 [POI2011]Lightning Conductor 四边形不等式

P3515 [POI2011]Lightning Conductor 四边形不等式 链接 1 讲解 按道理说这不应该算一个 dp 了,但是满足决策单调性。 首先先把绝对值去掉,因为如果 \(j\) 比 \(i\) 大我们可以反着做一遍。以下认为 \(j\le i\) 。 设 \(w(j,i)=\sqrt{i-j}\) ,我们把不等式移项后可以得到: \[p\ge a_j+

【洛谷3516】[POI2011] PRZ-Shift(构造题)

点此看题面 给定一个长度为\(n\)的排列,可以进行两种操作:把最后一个数移到开头;把第三个数移到开头。 一段连续的相同操作可以合并为一块操作,求一个操作序列把排列变为\(1,2,...,n\)。 \(n\le2000\),操作序列长度需\(\le n^2\) 构造思路 我们枚举\(i=2\sim n\),每次尝试让\(i\)紧贴

[POI2011]MET-Meteors 题解

显然答案具有单调性,对于一个国家,如果第 \(mid\) 次后达到了要求,那么对于大于 \(mid\) 的第 \(r\) 次后也肯定达到了要求。 对于单个一个国家,可以二分流星雨的次数。复杂度 \(O(m\log k)\)。 但是对于 \(n\) 个国家的情况,复杂度即为 \(O(nm\log k)\) 很快啊不能满足要求。 这提示我

T1 P3515 [POI2011]Lightning Conductor

思路: 首先考虑n^2暴力枚举:ans[i]=max(a[j]+sqrt(|i-j|)-a[i] (1<=j<=n) 把绝对值拆开: ans[i]=max(a[j]+sqrt(i-j))-a[i] (1<=j<=i) ans[i]=max(a[j]+sqrt(j-i))-a[i] (i<j<=n) 发现这个式子具有对称性,也就是说对于一个点i,他的最优决策j有可能是在j的左边,也有可能是在j的右边,这是绝

题解 P3527 【[POI2011]MET-Meteors】

\(\Large\texttt{P3527}\) 题意 一个环形被分为 \(m\) 份,每份都属于 \(n\) 个国家之一,有 \(k\) 场陨石,每场对应环上一段区间,为此区间上每份的隶属国家增加 \(a_i\) 的贡献,每个国家期望得到 \(p_i\) 的陨石,问第几波陨石过后能够达成目标? \(n,m,k\le 3e5\) 思路 因为答案具有可二分

P3518 [POI2011]SEJ-Strongbox

   链接 https://www.luogu.com.cn/problem/P3518 题解: 玄学 显然 gcd(x,n)是答案,   考虑如果一个数y是答案 ,那么2y 3y 4y是答案 然后考虑所有答案的GCD  下同 发现如果最小的答案是y,那么所有答案就是2y 3y 4y,因为最小的GCD也是答案,即这时候y就是最小的GCD 未完待续     

P3527 [POI2011]MET-Meteors

题意: Link 给定一个环,每个节点有一个所属国家,k次事件,每次对[l,r]区间上的每个点点权加上一个值,求每个国家最早多少次操作之后所有点的点权和能达到一个值。 题解: 整体二分的经典题。 还是考虑二分答案,对询问分治。 这道题关键是怎么判断询问答案是否大于或小于 \(mid\) . 我们只

Luogu P3523 [POI2011]DYN-Dynamite

Descripe 如此多的最大最小,显然二分答案mid,则对于每一个关键点到所选的最近的点的距离<=mid 貌似是树形DP 令f[i]表示以i为根的子树中i到最远关键点(无人认领)的距离,    g[i]表示                         i到最近选出点的距离 f[u]=max(f[v]+1),g[u]=min(g[v]+1);

「POI2011」Lightning Conductor

跟风 yuzhechuan 写个题解/kk 根据 yuzhechuan 的题解,这个东西其实就在求 \(f_i=\max\limits_{j=1}^n \{ a_j+\sqrt{|i-j|} \}-a_i\),正反取两边即可,改为求 \(f_i=\max\limits_{j=1}^i \{ a_j+\sqrt{i-j} \}-a_i\) 发现这个东西是满足决策单调性的 设 \(i\) 的决策点为 \(j\),发现这

[JSOI2016]灯塔/[POI2011]Lightning Conductor

题目 点这里看题目。 分析 直接变换式子: \[\begin{aligned} h_j\le h_i+p_i-\sqrt{|i-j|} & \Rightarrow p_i\le h_j+\sqrt{|i-j|}-h_i\\ & \Rightarrow p_i=\lceil\max\{h_j+\sqrt{|i-j|}-h_i\}\rceil\\ &

[POI2011]Lightning Conductor

JSOI2016灯塔跟这个一模一样(数据范围还比原题小) 题面:Luogu 60分题解:st表(也就是我上面说的那道题) 我们要对每个i求出 \[\max\left\{a_j+\left\lceil\sqrt{|i-j|}\right\rceil\right\}-a_i\] \(\sqrt{|i-j|}\)只有\(\sqrt n\)种,直接枚举,用st表求出最大值 复杂度:\(O(n\sqrt n)\) #in

「POI2011」Meteors

「POI2011」Meteors 传送门 整体二分,树状数组实现区间修改单点查询,然后注意修改是在环上的。 参考代码: #include <cstdio> #include <vector> #define rg register #define file(x) freopen(x".in", "r", stdin), freopen(x".out", "w", stdout) using names

P3521-[POI2011]ROT-Tree【线段树合并】

正题 题目链接:https://www.luogu.com.cn/problem/P3521 题目大意 一棵二叉树,叶子节点有权值,对于每个非叶子节点可以选择交换左右节点,求最后遍历出来的叶子节点权值逆序对最少。 解题思路 十分显然一个节点是否交换是不影响该节点子树之外的逆序对数量的,所以如果更优直接