[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的更多相关文章

  1. 2018.10.21 codeforces1071B. Minimum path(dp+贪心+bfs)

    传送门 唉考试的时候写错了两个细节调了一个多小时根本没调出来. 下来又调了半个小时才过. 其实很简单. 我们先dpdpdp出最开始最多多少个连续的aaa. 然后对于没法继续连续下去的用贪心+bfsbf ...

  2. POI 2018.10.20

    [POI2005]BANK-Cash Dispenser 有多少个4位字符串是所有操作序列的子串. 10^4枚举字符串.暴力判断会TLE 发现,我们就是在每个操作序列中不断找第一个出现的c字符. 预处 ...

  3. 2018.10.21 codeforces1071A. Cram Time(贪心构造)

    传送门 直接先看最多能够凑出几个. 然后可以得到一个结论就是如果保证所有页数之和是小于等于A+BA+BA+B的一定都对应着一种合法方案. 如何构造? 我们对于第一天的AAA个小时,从大向小选,如果当前 ...

  4. POI 2018.10.27

    [POI2015]LOG 维护一个长度为n的序列,一开始都是0,支持以下两种操作:1.U k a 将序列中第k个数修改为a.2.Z c s 在这个序列上,每次选出c个正数,并将它们都减去1,询问能否进 ...

  5. POI 2018.10.22

    [POI2015]ODW 喵锟讲过.分块. N>=blo,那就暴力倍增往上跳.O(N/blo*logN) N<blo,预处理,f[i][j]表示,i往上跳,每次跳j步,到根节点为止,权值和 ...

  6. 2018.10.19浪在ACM 集训队第一次测试赛

    2018.10.19浪在ACM 集训队第一次测试赛 待参考资料: [1]:https://blog.csdn.net/XLno_name/article/details/78559973?utm_so ...

  7. 【2018.10.20】CXM笔记(思维)

    1. 给你个环状字符串,问从哪个地方拆开能使它的字典序最小. 先预处理任意子串的哈希值. 然后枚举拆点,将它与当前最优的拆点比较谁更优(就是从哪拆的字典序更小),具体方法是二分+哈希找出两串最长的相同 ...

  8. 退役前的记录(2018.10.14-NOIP2018)

    退役前的记录 诸位好,我是\(CJ\)最菜的\(Oier\),已经是\(G2\)的老年选手了,不知道什么时候就会退役了,总之\(G1\ double\)的机会已经没有了,去年因为联赛失利而止步,而今年 ...

  9. 20172319 2018.10.19《Java程序设计教程》第7周课堂实践(补写博客)

    20172319 2018.10.19 <Java程序设计教程>第7周课堂实践 课程:<程序设计与数据结构> 班级:1723 学生:唐才铭 学号:20172319 指导老师:王 ...

随机推荐

  1. Qt listwigwt item 加入自定义元素

    <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255) ...

  2. 文件包含漏洞(RFI)

    1文件包含漏洞简介 include  require  include_once   require_once RFI综述 RFI是Remote File Inclusion的英文缩写,直译过来就是远 ...

  3. html简约风用户登录界面网页制作html5-css-jquary-学习模版

    2018--12-12 喜迎双十二,咳咳,,,,我不是打广告哈,购物的节日也不要忘记学习. 大家好,我又来了. 今天抽出来空把自己的学习心得给大家分享,这是一个可开发可扩展的用户登录界面,用于开发学习 ...

  4. [JSON].toString()

    语法:[JSON].toString() 返回:[String] 说明:获取[JSON]实例的字符串结果 示例: <% jsonString = "{div: 'hello word! ...

  5. Python全栈 MongoDB 数据库(Mongo、 正则基础、一篇通)

                  终端命令:       在线安装:         sudo apt-get install mongodb         默认安装路径 :  /var/lib/mong ...

  6. vivado使用感想

    寒假学了一学期vivado也没有学出什么名堂:为了调试龙芯的五级流水CPU,今天肝了一下午结果还把vivado给摸清楚了,果然是以目标为导向最能出成绩. vivado开发硬件的流程 写代码 模拟仿真s ...

  7. solidity python 签名和验证

    注意,以太坊智能合约里面采用的是公钥非紧凑类型 def gen_secrets_pair(): """ 得到公钥和私钥 :return: ""&quo ...

  8. Block的声明与定义语法

    Block的声明 Block的声明与函数指针的声明类似 返回值类型(^变量名)(参数列表) Block的定义 ^返回值类型(参数列表) { 表达式 } 其中: 1 如果返回值类型是void,可以省略 ...

  9. 自测之Lesson3:makefile

    题目:编写一个makefile文件,要求编译当前目录内的所有.c文件. 完成代码: .PHONY:clean all SRC=$(wildcard *.c) BIN=$(SRC:%.c=%) all: ...

  10. WPF+数据库+三层

    1.计算类 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespac ...