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框架内部整合好缓存管理器, ...
随机推荐
- Android开发当中ListView的使用
首先我们看ListView实现之后的的效果,如下图所示: 现在我们来看看如何来实现这个可以进行上下活动的ListView: 首先是主界面Activity_Main.xml的代码: <?xml v ...
- win10安装两个不同版本的mysql(mysql5.7和mysql-8.0.19)
win10中安装mysql5.7后,安装mysql-8.0.19 在D:\mysql-8.0.19-winx64目录下创建一个my.ini文件 [mysqld] # 设置3307端口 port # 设 ...
- Centos8(Liunx) 中安装PHP7.4 的三种方法和删除它的三种方法
编译安装 Centos8下PHP源码编译和通过yum安装的区别和以后的选择 其实这两种方法各有千秋: yum安装: 从yum安装来说吧,yum相当于是自动化帮你安装,你不用管软件的依赖关系,在yum安 ...
- 剑指offer-面试题65-不用加减乘除做加法-位运算
/* 题目: 在不使用加减乘除的前提下,计算两个整数之和. 思路: 不能使用加减乘除则只能考虑位运算. x=num1^num2,则为抹掉进位的结果. y=num1&num2,为只有进位的结果. ...
- 全文检索以及Lucene的应用
全文检索 一.什么是全文检索? 就是在检索数据,数据的分类: 在计算机当中,比如说存在磁盘的文本文档,HTML页面,Word文档等等...... 1.结构化数据 格式固定,长度固定,数据类型固定等等, ...
- C#设计模式学习笔记:(2)工厂方法模式
本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/7567880.html,记录一下学习过程以备后续查用. 一.引言 接上一篇C#设计模式学习笔记:简单工厂模式( ...
- javaSE学习笔记(16)---网络编程
javaSE学习笔记(16)---网络编程 基本概念 如今,计算机已经成为人们学习.工作.生活必不可少的工具.我们利用计算机可以和亲朋好友网上聊天,也可以玩网游.发邮件等等,这些功能实现都离不开计算机 ...
- Windows 使用 TCPing 工具来获取 TCP延迟、端口通顺情况、已禁Ping服务
https://elifulkerson.com/projects/tcping.php
- C# IO流与文件读写学习笔记
本笔记摘抄自:https://www.cnblogs.com/liyangLife/p/4797583.html,记录一下学习过程以备后续查用. 一.文件系统 1.1文件系统类的介绍 文件操作类大都在 ...
- C、C++和C#区别概述
译者前言 今天突然好奇C.C++和C#这三门语言都有个C,那么它们之间到底有什么关联呢.所以就去Google了,找到了这篇文章:Understanding the Differences Betwee ...