POI2008 题解

POI2008 完结(′?_?`)撒花!

海报PLA

单调栈裸题!

激光发射器SZK

光路可逆?

然后证一下发射器与接收器两两对应?

砖块Klo

区间中值!

可用树状数组水过。。。

将高度 \( h \) 的值域作为树状数组维护的序列,维护一下前缀数量与前缀和即可。

BLO

求割点裸题!

Sta

so easy 的树上DP!

CLO

蜜汁构造。。。

Tro

草稿题。。。

把差积分开算,求和

枪战Maf

有向仙人掌?

naive!

贪心构造即可(<--口胡的)

正解还要分好多种情况?

账本BBB

不是 DP!不是 DP!不是 DP!

维护前缀最小值即可

单调队列搞一搞

KUP

构造?

求一个最大 01 矩阵

好像不用单调栈可行?

只要 n 重循环就好了?

Poc

数据结构题

要求支持集合加点、删点、求历史最大 size

就是千山鸟飞绝的简化版

打打标、写写 Hash 就好了

POD

好简单的 DP 题,但是复杂度算错导致调了一小时错误代码。。。

加加减减就好了

关于构造状态的问题,直接枚举会超时(考虑到 __builtin_popcount 有不小的常数)

不妨先构造 \( 2^(n/2) \) 以内的状态,然后前后拼成所需要的

Lam

要推式子。。。

不过就是简单的容斥而已了

具体式子学长推的非常详细了

(顺便抄膜一番模板)

Per

听说不难?

需要用中国剩余定理?

没学,放着

Uci

DP。。。

但是很丑很丑很丑。。。

鲁滨逊逃生Rob

从找出船的重心可以在的点入手

然后直接搜索

小结

抄借用了两份模板(你知道的),思维量还行,没太多清奇的搞法

数据结构题貌似变多了。。。

发现自己变懒了。。。最近都不好好写代码了,只会口胡了(′?_?`)

这是目前的 AC 记录:

颓废程度可见一斑( ̄▽ ̄)

原文地址:https://www.cnblogs.com/HailJedi/p/9277775.html

时间: 2024-10-09 22:34:19

POI2008 题解的相关文章

[POI2008]枪战Maf题解

问题 C: [POI2008]枪战Maf 时间限制: 1 Sec  内存限制: 256 MB 题目描述 有n个人,每个人手里有一把手枪.一开始所有人都选定一个人瞄准(有可能瞄准自己).然后他们按某个顺序开枪,且任意时刻只有一个人开枪.因此,对于不同的开枪顺序,最后死的人也不同. 输入 输入n人数<1000000 每个人的aim 输出 你要求最后死亡数目的最小和最大可能 样例输入 8 2 3 2 2 6 7 8 5 样例输出 3 5 本次考试最后一个题,被老师评论称难炸了--然而貌似不那么难,但你

[POI2008]BLO-Blockade 题解

poi- 原题目 点无非分为两种 割点 & 非割点 根据题目可得 , 对于非割点答案显然是 ans = (n - 1) * 2; 那么对于割点怎么处理答案呐? 把她分成两部分处理 对于一个点 fa 他的所有子树(搜索树中)的 size 互相乘起来 , 因为子树间互相断开不能联系 然后把所有子树的 size 加起来得 sum , 然后 ans += sum * (n - sum - 1) , 因为所有的子树都无法与外界联系 因为不算 fa 本身 , 所以是 (n - sum - 1) 而非 (n

BZOJ1124: [POI2008]枪战Maf

1124: [POI2008]枪战Maf Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 501  Solved: 200[Submit][Status][Discuss] Description 有n个人,每个人手里有一把手枪.一开始所有人都选定一个人瞄准(有可能瞄准自己).然后他们按某个顺序开枪,且任意时刻只有一个人开枪.因此,对于不同的开枪顺序,最后死的人也不同. Input 输入n人数<1000000 每个人的aim Output 你要求最

1131: [POI2008]Sta

1131: [POI2008]Sta Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 783  Solved: 235[Submit][Status] Description 给出一个N个点的树,找出一个点来,以这个点为根的树时,所有点的深度之和最大 Input 给出一个数字N,代表有N个点.N<=1000000 下面N-1条边. Output 输出你所找到的点,如果具有多个解,请输出编号最小的那个. Sample Input 8 1 4 5 6

BZOJ 1113: [Poi2008]海报PLA

题目 1113: [Poi2008]海报PLA Time Limit: 10 Sec  Memory Limit: 162 MB Description N个矩形,排成一排. 现在希望用尽量少的矩形海报Cover住它们. Input 第一行给出数字N,代表有N个矩形.N在[1,250000] 下面N行,每行给出矩形的长与宽.其值在[1,1000000000]2 1/2 Postering Output 最少数量的海报数. Sample Input 5 1 2 1 3 2 2 2 5 1 4 Sa

bzoj1112[POI2008]砖块Klo*

bzoj1112[POI2008]砖块Klo 题意: N柱砖,希望有连续K柱的高度是一样的. 你可以选择以下两个动作 1:丢掉某柱砖的一块砖.给某柱加上一块砖,现在希望用最小次数的动作完成任务.N≤100000 题解: 设一个区间长度为k,其中位数为a,比a小的元素个数为b,和为c:比a大的元素个数为d,和为e.则题目要求维护一个长度为k的滑动窗口,能求出它的b*a-c+e-d*a.故用一个维护sum,size两个值的treap来维护.然而似乎我想复杂了?比所有人代码都大1k!注意要开long

bzoj1113[Poi2008]海报PLA*

bzoj1113[Poi2008]海报PLA 题意: N个矩形,排成一排.现在希望用尽量少的矩形海报盖住它们.不能盖到矩形之外的地方.n≤250000. 题解: 发现如果有一对矩形高度相等,且中间的矩形高度都比它们高,那么就可以省下一个矩形海报.故可以用个单调递增的栈维护. 代码: 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #include <stack> 5 #def

【BZOJ1124】[POI2008]枪战Maf 贪心+思路题

[BZOJ1124][POI2008]枪战Maf Description 有n个人,每个人手里有一把手枪.一开始所有人都选定一个人瞄准(有可能瞄准自己).然后他们按某个顺序开枪,且任意时刻只有一个人开枪.因此,对于不同的开枪顺序,最后死的人也不同. Input 输入n人数<1000000 每个人的aim Output 你要求最后死亡数目的最小和最大可能 Sample Input 8 2 3 2 2 6 7 8 5 Sample Output 3 5 题解:最大:首先入度为0的点一定不会死:另外,

BZOJ1123: [POI2008]BLO

1123: [POI2008]BLO Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 614  Solved: 235[Submit][Status] Description Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 所有towns连通. Input 输入n<=100000 m<=500000及m条边 Output 输出n个数,代表如果把第i个点去掉,将有多