POI 2018.10.21
[POI2008]TRO-Triangles
https://www.cnblogs.com/GXZlegend/p/7509699.html
平面上有N个点. 求出所有以这N个点为顶点的三角形的面积和 N<=3000
计算几何。
只需要用到S=|x1y2-x2y1|/2
开始对所有点按照x排序。
枚举第一个点P,求出其他点关于P的坐标。
为了去掉绝对值,按照x1/y1排序。y1等于0要特判。
然后发现是前缀和。
本质类似于O(n^3)的暴力,每个三角形只会被统计一次。
N^2logN
突破口:固定P点。求出其他点关于P点的坐标。
[POI2009]WIE-Hexer
大陆上有n个村庄,m条双向道路,p种怪物,k个铁匠,每个铁匠会居住在一个村庄里,你到了那个村庄后可以让他给你打造剑,每个铁匠打造的剑都可以对付一些特定种类的怪物,每条道路上都可能出现一些特定种类的怪物,每条道路都有一个通过所需要的时间,现在要从1走到n,初始的时候你没有剑,要求在经过一条道路的时候,对于任意一种可能出现在这条道路上的的怪物,你都有已经有至少一把剑可以对付他,求从1走到n的最短时间(打造剑不需要时间)
1≤n≤200,0≤m≤3000,1≤p≤13
状压dp
f[i][S],到i点,打S集合的怪,最短路。
但是转移明显有环。
于是状压最短路处理环。dij搞一下。
[POI2010]ANT-Antisymmetry
对于一个01字符串,如果将这个字符串0和1取反后,再将整个串反过来和原串一样,就称作“反对称”字符串。比如00001111和010101就是反对称的,1001就不是。
现在给出一个长度为N的01字符串,求它有多少个子串是反对称的。
有趣的题目。
考虑一个串合法的条件。
翻转之后,S[i]=A[n-i+1],有点类似回文串。
A[n-i+1]=S[n-i+1]^1,那么有:S[i]^S[n-i+1]=1,
就是异或意义下的回文子串个数。
一般回文:S[i]=S[n-i+1],这个回文:S[i]^S[n-i+1]=1,
Manacher计算即可。
注意,只能统计偶数的回文,奇数的回文不存在。
并且,奇数的回文,Manacher的一步:p[i]=min(mx-i,2*id-i)不适用。
存在:
//因为会有这种例子(先忽略#(反正是一样的))
//0100 1 1101 中间这个1的p[i]=4,当搜到010011 1 01这个1时
//它所对应的01 0 011101这个0的p[i]=2,但显然上面那个1的p[i]!=2
//所以此处要加2,不能计算奇数长度的情况
其实,就是因为奇数的话对称一下可能会重合id位置。但是id^id=0,所以就错了。
所以,如果后面这个1取到的话,如果成为了最大的id,那么本身其实没有对称性。依赖它进行对称,就错了。
只能每次i+=2
显然不会影响答案。并且不会影响复杂度。
[POI2006]OKR-Periods of Words
求一个串的所有前缀的最长周期(可以覆盖出去)。
最小周期我们会求。i-nxt[i]
由于所有的周期都是最小周期的倍数,所以倍增一下+hash找到最长的即可。nlogn
太暴力了。
所有的i-nxt[nxt[nxt...[i]]]]]]都是周期。
只要不断跳nxt找到最小的j即可。
ans+=i-j
然后就令fail[i]=j,以后到i就一步跳到最小的。类似记忆化。就可以O(n)了。
也启示我们如何把最长的前缀等于后缀长度转化成最短的前缀等于后缀长度。
POI 2018.10.21的更多相关文章
- 2018.10.21 codeforces1071B. Minimum path(dp+贪心+bfs)
传送门 唉考试的时候写错了两个细节调了一个多小时根本没调出来. 下来又调了半个小时才过. 其实很简单. 我们先dpdpdp出最开始最多多少个连续的aaa. 然后对于没法继续连续下去的用贪心+bfsbf ...
- POI 2018.10.20
[POI2005]BANK-Cash Dispenser 有多少个4位字符串是所有操作序列的子串. 10^4枚举字符串.暴力判断会TLE 发现,我们就是在每个操作序列中不断找第一个出现的c字符. 预处 ...
- 2018.10.21 codeforces1071A. Cram Time(贪心构造)
传送门 直接先看最多能够凑出几个. 然后可以得到一个结论就是如果保证所有页数之和是小于等于A+BA+BA+B的一定都对应着一种合法方案. 如何构造? 我们对于第一天的AAA个小时,从大向小选,如果当前 ...
- POI 2018.10.27
[POI2015]LOG 维护一个长度为n的序列,一开始都是0,支持以下两种操作:1.U k a 将序列中第k个数修改为a.2.Z c s 在这个序列上,每次选出c个正数,并将它们都减去1,询问能否进 ...
- POI 2018.10.22
[POI2015]ODW 喵锟讲过.分块. N>=blo,那就暴力倍增往上跳.O(N/blo*logN) N<blo,预处理,f[i][j]表示,i往上跳,每次跳j步,到根节点为止,权值和 ...
- 2018.10.19浪在ACM 集训队第一次测试赛
2018.10.19浪在ACM 集训队第一次测试赛 待参考资料: [1]:https://blog.csdn.net/XLno_name/article/details/78559973?utm_so ...
- 【2018.10.20】CXM笔记(思维)
1. 给你个环状字符串,问从哪个地方拆开能使它的字典序最小. 先预处理任意子串的哈希值. 然后枚举拆点,将它与当前最优的拆点比较谁更优(就是从哪拆的字典序更小),具体方法是二分+哈希找出两串最长的相同 ...
- 退役前的记录(2018.10.14-NOIP2018)
退役前的记录 诸位好,我是\(CJ\)最菜的\(Oier\),已经是\(G2\)的老年选手了,不知道什么时候就会退役了,总之\(G1\ double\)的机会已经没有了,去年因为联赛失利而止步,而今年 ...
- 20172319 2018.10.19《Java程序设计教程》第7周课堂实践(补写博客)
20172319 2018.10.19 <Java程序设计教程>第7周课堂实践 课程:<程序设计与数据结构> 班级:1723 学生:唐才铭 学号:20172319 指导老师:王 ...
随机推荐
- python爬取视频网站m3u8视频,下载.ts后缀文件,合并成整视频
最近发现一些网站,可以解析各大视频网站的vip.仔细想了想,这也算是爬虫呀,爬的是视频数据. 首先选取一个视频网站,我选的是 影视大全 ,然后选择上映不久的电影 “一出好戏” . 分析页面 我用的是c ...
- 浅谈如何提高自动化测试的稳定性和可维护性 (pytest&allure)
装饰器与出错重试机制 谈到稳定性,不得不说的就是“出错重试”机制了,在自动化测试中,由于环境一般都是测试环境,经常会有各种各种的抽风情况影响测试结果,这样就为测试的稳定性带来了挑战,毕竟谁也不想自己的 ...
- Django - day01 快速回忆ORM操作
Django - day01 Model的增删改查找 得益于Django的ORM模型,用面向对象的思想来操作数据库使得数据库的操作一切变得简洁了很多. 0. 建表 在应用下的models.py中建立一 ...
- Micro:bit 硬件架构介绍
Micro:bit做为当红的少儿编程工具,这两年在编程教育领域越来越火.今天就从硬件架构开始,分享Micro:bit的相关主题. Microbit 硬件设计是根据ARM mbed技术所开发的应用IC及 ...
- 基于 CPython 解释器,为你深度解析为什么Python中整型不会溢出
前言 本次分析基于 CPython 解释器,python3.x版本 在python2时代,整型有 int 类型和 long 长整型,长整型不存在溢出问题,即可以存放任意大小的整数.在python3后, ...
- CSP201612-1:中间数
引言:CSP(http://www.cspro.org/lead/application/ccf/login.jsp)是由中国计算机学会(CCF)发起的"计算机职业资格认证"考试, ...
- [Clr via C#读书笔记]Cp3共享程序集和强命名程
Cp3共享程序集和强命名程序集 私有方式部署+全局方式部署:弱命名程序集+强命名程序集 强命名程序集使用发布者的公钥私钥进行签名,唯一标识发布者. 共享dll被全部复制到System32中 强命名程序 ...
- Python3 小工具-TCP发现
from scapy.all import * import optparse import threading import os def scan(ip): pkt=IP(dst=ip)/TCP( ...
- SGU 194 Reactor Cooling(无源无汇上下界可行流)
Description The terrorist group leaded by a well known international terrorist Ben Bladen is bulidin ...
- pthon_flask小汇总
一.Jinja2中的关键字 1.include关键字 用include可以导入另外一个模板到当前模板中 <pre> {% include 'header.html' %} Body {% ...