我也不知道为啥我就想把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题解整合的更多相关文章

  1. BZOJ2083: [Poi2010]Intelligence test

    2083: [Poi2010]Intelligence test Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 241  Solved: 96[Sub ...

  2. bzoj2096: [Poi2010]Pilots

    Description Tz又耍畸形了!!他要当飞行员,他拿到了一个飞行员测试难度序列,他设定了一个难度差的最大值,在序列中他想找到一个最长的子串,任意两个难度差不会超过他设定的最大值.耍畸形一个人是 ...

  3. BZOJ2079: [Poi2010]Guilds

    2079: [Poi2010]Guilds Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 237  Solved: 181[Submit][Statu ...

  4. 搜索Ex

    哎呀好几天没写POI题解了 (>﹏<) 看着摇曳不定的小旗子深深惶恐 打算开始肝洛谷试炼场的提高分区了[对我就是这么菜… 搜索Ex 比暴搜不错得多的题 洛谷P1514 引水入城 拆成两问来 ...

  5. 【转】java遍历实体类的属性和数据类型以及属性值

    和同学接了个外包的活,由于项目中很多地方要用到poi导出excel,而每次导出都要写很多相同的代码,因为poi的cell.setCellValue();每次设置的都是不同实体bean的属性值,导致代码 ...

  6. java遍历实体类的属性和数据类型以及属性值

    遍历实体类的树形和数据类型一级属性值 /** * 遍历实体类的属性和数据类型以及属性值 * @param model * @throws NoSuchMethodException * @throws ...

  7. Flume+Kafka+Storm+Hbase+HDSF+Poi整合

    Flume+Kafka+Storm+Hbase+HDSF+Poi整合 需求: 针对一个网站,我们需要根据用户的行为记录日志信息,分析对我们有用的数据. 举例:这个网站www.hongten.com(当 ...

  8. [POI 2008&洛谷P3467]PLA-Postering 题解(单调栈)

    [POI 2008&洛谷P3467]PLA-Postering Description Byteburg市东边的建筑都是以旧结构形式建造的:建筑互相紧挨着,之间没有空间.它们共同形成了一条长长 ...

  9. 项目一:第十四天 1.在realm中动态授权 2.Shiro整合ehcache 缓存realm中授权信息 3.动态展示菜单数据 4.Quartz定时任务调度框架—Spring整合javamail发送邮件 5.基于poi实现分区导出

    1 Shiro整合ehCache缓存授权信息 当需要进行权限校验时候:四种方式url拦截.注解.页面标签.代码级别,当需要验证权限会调用realm中的授权方法   Shiro框架内部整合好缓存管理器, ...

随机推荐

  1. MySQL手工注入学习-1

    MySQL手工注入学习 SQLi-labs 手工注入学习 以下是通过SLQi-labs平台的部分简单例题的手工注入过程 Less-1:union联合查询注入 页面提示:Please input the ...

  2. Linux安装Redis、后台运行、系统自启动

    Redis是用C语言编写的开源免费的高性能的分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库. 安装 1)从官网http://download.redis.io/releases/下载re ...

  3. vim配置markdown预览

    注:系统为Centos7,安装了gnome桌面环境. 我的vim装了vimplus工具包,看代码一等一的方便,但是看md的时候还是有些不快乐.于是想找个插件实现markdown的预览. 尝试了几个vi ...

  4. 使用QT显示OpenCV读取的图片

    目录 1. 概述 2. 实现 2.1. 代码 2.2. 解析 3. 结果 1. 概述 OpenCV自带了一部分常用的GUI功能,但是更多的图像处理功能需要其他GUI框架来辅助实现,这里通过QT来显示O ...

  5. 3Python脚本在linux环境下头文件解释

    #!/usr/bin/python到底是什么意思 有这句的,加上执行权限后,可以直接用 ./ 执行,不然会出错,因为找不到 python 解释器. #!/usr/bin/python 是告诉操作系统执 ...

  6. python选课系统作业

    # 选课系统# 角色:学校.学员.课程.讲师# 要求:# 1. 创建北京.上海 2 所学校# 2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海 ...

  7. TCP/IP详解阅读记录----第一章 概述

    1.TCP/IP协议族中不同层次的协议 2.五类互联网地址 3.各类IP地址范围 4.数据进入协议栈时的封装过程 5.以太网数据帧的分用过程

  8. MySQL日志文件和InnoDB引擎文件简介

    MySQL和InnoDB的关系不在这里介绍了.但是大家都知道其中相关的文件很多,类型很多.看文件名就有点分布清楚了.所以在这里简单介绍下他们的文件. 我们直接看文件列表以及在后面直接加注释.做笔记. ...

  9. vim 进化 编码问题

    " 解决菜单乱码 source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim " 防止文件显示乱码 set fileenc ...

  10. python命令行工具的使用——argparse

    argparse是一个常用的库函数,使用它的时候我们在命令行中不仅仅可以运行python文件,更可以零时调整参数,十分方便. 首先,如果你只是希望传一丢丢数据进去,那么只看下面两行就行了 import ...