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 指导老师:王 ...
随机推荐
- Selenium 入门到精通系列:三
Selenium 入门到精通系列 PS:Driver_Element 常用方法 例子 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2 ...
- Micro:bit 硬件架构介绍
Micro:bit做为当红的少儿编程工具,这两年在编程教育领域越来越火.今天就从硬件架构开始,分享Micro:bit的相关主题. Microbit 硬件设计是根据ARM mbed技术所开发的应用IC及 ...
- 关于axios跨域带cookie
axios 设置 withCredentials :true $u = $_SERVER['HTTP_REFERER'];$u = preg_replace('#/$#', '', $u);head ...
- VT-x VT-d 虚拟化在win10中的问题
win10真的是非常非常非常非常非常非常非常非常非常非常坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑坑!!!!!! 自带虚拟Buff不说,我不用竟然会有冲突!!!! 一度让我怀疑,我的CPU VT-x坏掉了!!! ...
- C复合文字
C99之前,可以传递数组,但是没有所谓的数组常量可供传递,于是新增了复合文字. 普通数组声明方法: int d[2]={10,20}; 复合文字声明: 与数组名相同,常量同时代表元素的地址. (int ...
- Python的实现分类
目前流行的Python实现包括CPython,Jython,IronPython,Stackless,PyPy,Cython,Shed Skin. CPython Cpython是Python的标准实 ...
- 路由器如何设置上网(TP-LINK)
最近宿舍公用的网络一直不太稳定,正赶上毕业季,本来就打算自己买一台自用的路由器,于是我从一个毕业的师姐手里15RMB收了一台路由器,师姐还给了我一根5m的网线和两根全新15m的,感觉光网线就赚翻了. ...
- OpenGL ES 2.0 -- 制作 3D 彩色旋转三角形 - 顶点着色器 片元着色器 使用详解
最近开始关注OpenGL ES 2.0 这是真正意义上的理解的第一个3D程序 , 从零开始学习 . 案例下载地址 : http://download.csdn.net/detail/han120201 ...
- 福大软工1816:Alpha(7/10)
Alpha 冲刺 (7/10) 队名:Jarvis For Chat 组长博客链接 本次作业链接 团队部分 团队燃尽图 工作情况汇报 张扬(组长) 过去两天完成了哪些任务: 文字/口头描述: 1.完成 ...
- UVALive - 6868 Facility Locations 想法题
题目链接: http://acm.hust.edu.cn/vjudge/problem/88634 Facility Locations Time Limit: 3000MS 题意 给你一个m*n的矩 ...