POI题解整合
我也不知道为啥我就想把POI的题全都放到一篇blog里写完。
POI 2005
SAM-Toy Cars
贪心,每次选下次出现最晚的。
POI 2006
KRA-The Disks
箱子位置单调,所以记录现在的箱子位置和前缀最小值,向上枚举就行。
OKR-Periods of Words
POI 2007
OSI-Axes of Symmetry
MEG-Megalopolis
树剖 or dfs序上维护前缀和。
POI 2010
GIL-Guilds
按照洛谷的题面,可以发现灰点就是用来搞笑的,然后在生成树上染个色就行了。
KOR-Beads
枚举长度,hash判重就行,注意先预处理出整串的hash值,然后\(O(1)\)求每一段的hash值。复杂度\(O(n\log^2 n)\)
ANT-Antisymmetry
把给定的串每个字符取反放在这个字符后面,然后长度和半径为偶数的回文串就是答案了。魔改一下manacher就能做了。
KLO-Blocks
把每个数都减去\(k\),然后再求前缀和,答案就是最大的\(r-l\)满足\(s_r\ge s_l\)。求这个东西可以先把前缀和塞到一个单调栈里,然后从后往前计算答案,注意到如果\(r_1\)的答案在\(l_1\)处,那么对于\(r_2<r_1\)的\(r_2\),其对应的\(l_2\)也必须小于\(l_1\)才有可能成为答案,这个东西是有单调性的,所以\(O(n)\)地来 回扫2遍就行了。
PIL-Pilots
枚举右端点,单调队列维护当前最大最小值。因为如果在一个位置不合法了,之后的位置一定也不合法,所以就要出队靠前的元素。
GRA-The Minima Game
一开始想\(\min-\max\)搜索,结果一看数据范围就gg了。然后这个题实际上就是一个sb题,容易发现取肯定取相邻的一端。排个序之后\(f_i\)表示在前\(i\)小的里面取的答案,然后转移就是第\(i\)个数是和之前的一起拿\((f_{i-1})\),还是自已成为一手\((a_i-f_{i-1})\)。
POI 2011
PAT-Sticks
一个神仙的结论:如果有能排成三角形的三根木棍,那么一定有三根长度相邻的木棍能排成三角形。所以排个序,维护三个相邻的不同色的木棍看是否合法就行了。
TEM-Temperature
一开始没看到是子串,想了好久才发现……
子串就很好做了,要满足每个\(r\)都大于之前的所有\(l\),维护一个单调队列就行了。
Lightning Conductor
ROT-Tree Rotations
线段树合并。
POI 2012
FES-Festival
差分约束,然后一个scc里的最长路就是这个scc里能选的范围,然后每个scc又互不影响,答案加起来就行。
LIT-Letters
逆序对数。这里有一种比较短的求A的逆B序对数的方法:
for (int i = 1; i <= n; ++i) {
nxt[i] = hd[a[i] - 'A'], hd[a[i] - 'A'] = i;
}
for (int i = n; i; --i) {
int c = b[i] - 'A';
ans += q(hd[c]);
m(hd[c]);
hd[c] = nxt[hd[c]];
}
POI 2014
PTA-Little Bird
又是一道单调队列优化DP题……
RAJ-Rally
POI 2015
WIL-Wilcze doły
还是一道单调队列题……
这道有点不一样的地方是单调队列维护的不是点的最大值而是区间的最大值(实际上一模一样……)
POI题解整合的更多相关文章
- BZOJ2083: [Poi2010]Intelligence test
2083: [Poi2010]Intelligence test Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 241 Solved: 96[Sub ...
- bzoj2096: [Poi2010]Pilots
Description Tz又耍畸形了!!他要当飞行员,他拿到了一个飞行员测试难度序列,他设定了一个难度差的最大值,在序列中他想找到一个最长的子串,任意两个难度差不会超过他设定的最大值.耍畸形一个人是 ...
- BZOJ2079: [Poi2010]Guilds
2079: [Poi2010]Guilds Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 237 Solved: 181[Submit][Statu ...
- 搜索Ex
哎呀好几天没写POI题解了 (>﹏<) 看着摇曳不定的小旗子深深惶恐 打算开始肝洛谷试炼场的提高分区了[对我就是这么菜… 搜索Ex 比暴搜不错得多的题 洛谷P1514 引水入城 拆成两问来 ...
- 【转】java遍历实体类的属性和数据类型以及属性值
和同学接了个外包的活,由于项目中很多地方要用到poi导出excel,而每次导出都要写很多相同的代码,因为poi的cell.setCellValue();每次设置的都是不同实体bean的属性值,导致代码 ...
- java遍历实体类的属性和数据类型以及属性值
遍历实体类的树形和数据类型一级属性值 /** * 遍历实体类的属性和数据类型以及属性值 * @param model * @throws NoSuchMethodException * @throws ...
- Flume+Kafka+Storm+Hbase+HDSF+Poi整合
Flume+Kafka+Storm+Hbase+HDSF+Poi整合 需求: 针对一个网站,我们需要根据用户的行为记录日志信息,分析对我们有用的数据. 举例:这个网站www.hongten.com(当 ...
- [POI 2008&洛谷P3467]PLA-Postering 题解(单调栈)
[POI 2008&洛谷P3467]PLA-Postering Description Byteburg市东边的建筑都是以旧结构形式建造的:建筑互相紧挨着,之间没有空间.它们共同形成了一条长长 ...
- 项目一:第十四天 1.在realm中动态授权 2.Shiro整合ehcache 缓存realm中授权信息 3.动态展示菜单数据 4.Quartz定时任务调度框架—Spring整合javamail发送邮件 5.基于poi实现分区导出
1 Shiro整合ehCache缓存授权信息 当需要进行权限校验时候:四种方式url拦截.注解.页面标签.代码级别,当需要验证权限会调用realm中的授权方法 Shiro框架内部整合好缓存管理器, ...
随机推荐
- MySQL存储过程和游标
一.存储过程 什么是存储过程,为什么要使用存储过程以及如何使用存储过程,并且介绍创建和使用存储过程的基本语法. 什么是存储过程: 存储过程可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些 ...
- You (oracle) are not allowed to use this program (crontab)
检查一台ORACLE数据库服务器的crontab作业(用户为oracle,实际环境中可能为oracle.也有可能是其它用户)时,发现出现下面提示信息: $ crontab -l You (orac ...
- 2020年如何成为一个高级AVA架构师(50W~100W年薪)
2020年如何成为一个高级AVA架构师(50W~100W年薪)
- Ubuntu安装C#语言开发环境
使用Bash自动化安装 先下载Bash脚本(Linux/macOS),运行脚本 ./dotnet-install.sh -c Current 或者使用包管理器安装 wget -q https://pa ...
- 如何获取 iOS APP 的 scheme URL ?
获取IPA文件 拷贝到桌面上 后缀名由 .ipa 改为 .zip 解压之后进入,进入名为Payload的目录 右键点击里面的跟App同名的文件,选择'显示包内容' 用文本编辑器打开当前文件夹下的inf ...
- 面试想拿 10K,HR 说你只值 7K,该怎样回答或者反驳?
当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫. 礼貌地说:"7K是吗?了解了.嗯~其实我对贵司的面试官印象很好.只不过,现在我的手头上已经有一份11K的offer. ...
- jQuery---$冲突的解决方案
$冲突的解决方案 遇到其他js文件也用$包装了函数.可以把jQuery放在后面,并释放下$的控制权,也可以换个字符替代原来的$,例如$$ 或者,jQuery //jQuery释放$的控制权 $$ = ...
- codechef Scoring Pairs
难度 \(medium-hard\) 题意 官方中文题意 做法 很显然是可以通过计算常数个\(sum(A,B)=\sum\limits_{i=0}^A \sum\limits_{j=0}^B scor ...
- python3-cookbook笔记:第二章 字符串和文本
python3-cookbook中每个小节以问题.解决方案和讨论三个部分探讨了Python3在某类问题中的最优解决方式,或者说是探讨Python3本身的数据结构.函数.类等特性在某类问题上如何更好地使 ...
- HTML连载65-过渡模块的基本使用
一.过渡模块的基本使用 1.*:hover;这个伪类选择器除了可以用在a标签上,还可以用在其他任何标签上. 2.过渡三要素: (1)必须要有属性发生变化:(2)必须告诉系统哪个属性需要执行过渡效果:( ...