2016弱校联盟十一专场10.5

传送门

A. As Easy As Possible

  • 假设固定左端点,那么每次都是贪心的匹配\(easy\)这个单词。
  • 从\(l\)开始匹配的单词,将\(y\)的位置标记成有效位置,用主席树维护。
  • 如果\(s_l\ne e\),那么\(l\)与\(l+1\)的匹配结果一致;否则从\(l\)开始匹配到某个位置\(p\)完成单词匹配,我们从\(p+1\)的有效位置继承过来,然后再将\(p\)标记成有效位置即可。

B. Be Friends

  • 在二进制下,从高位开始考虑,显然高位相同的分成一组,高位不同的需要每组选一个人,使得异或和最小。
  • 在字典树下,显然高位不同的情况下会分成两个分支,所以当出现分支的情况,维护下最小花费即可。

D. Drawing Hell

  • 游戏结束时是一个三角剖分,显然任意一种剖分都不会影响结果,所以只需要计算三角剖分的线段数。
  • 首先求凸包(假设有\(m\)个点),凸包上的边必然是在三角剖分里面的。
  • 凸包里增加第一个点,此时线段数增加\(m\)条。
  • 此后每增加一个点,线段数+3。
  • 简要证明:若点不落在边上,说明落在一个三角形内部,此时边数+3;若落在线段上,则原线段数被一分为二,同时原线段为两个三角形的边,所以当前点分别与两个顶点连边,所以线段数还是+3。
  • 至此可以统计出最后的线段数的奇偶性,即可判断胜负。
  • 当所有点构不成凸包时,需要特判。

F. Fibonacci of Fibonacci

  • 打表找出循环节为\(26880696\)

H. Hash Collision

  • \(f(i,j)\)表示长为\(i\),哈希值为\(j\)的方案数,然后倍增求即可。
  • 但是这题用简单的FFT会爆精度,所以找到了上交的FFT板子支持一定范围内的取模而不爆精度。

I. Increasing or Decreasing

  • 数位DP即可。

2016 MIPT Pre-Finals Workshop Taiwan NTU Contest的更多相关文章

  1. Problem I. Increasing or Decreasing MIPT-2016 Pre-Finals Workshop, Taiwan NTU Contest, Sunday, March 27, 2016

    题面: Problem I. Increasing or DecreasingInput file: standard inputOutput file: standard outputTime li ...

  2. 【循环节】【矩阵乘法】MIPT-2016 Pre-Finals Workshop, Taiwan NTU Contest, Sunday, March 27, 2016 Problem F. Fibonacci of Fibonacci

    题意:F(n)为斐波那契数列的第n项,问你F(F(n)) mod 20160519的值. 发现有循环节,F(26880696)=0,F(26880697)=1,.... 于是两次矩乘快速幂即可. #i ...

  3. 【推导】【凸包】MIPT-2016 Pre-Finals Workshop, Taiwan NTU Contest, Sunday, March 27, 2016 Problem D. Drawing Hell

    平面上n个点,两个人交替决策,用线段连接两个点,但不能跨越其他点或者已经存在的线段.不能做的人算输,问你谁赢. 实际上,跟两个人的决策无关,n个点将平面三角剖分,只需要算出有几条边即可. 凸包上如果有 ...

  4. 【Trie】MIPT-2016 Pre-Finals Workshop, Taiwan NTU Contest, Sunday, March 27, 2016 Problem B. Be Friends

    题意:一个n个点的完全图,点带权,边权是两端点点权的异或值.问你最小生成树. 一个性质,把所有点按照二进制最高位是否为1划分为2个集合,那么这两个集合间只会有一条边.可以递归处理. 把所有点建成01T ...

  5. 【分块】MIPT-2016 Pre-Finals Workshop, Taiwan NTU Contest, Sunday, March 27, 2016 Problem A. As Easy As Possible

    给你一个字符串,多次区间询问,问你在该区间内最多能有几个easy重复的子序列. 显然如果只有一次询问,从左到右贪心做即可. 分块,预处理任意两块间的答案,不过要把以e a s y开头的四个答案都处理出 ...

  6. HDU - 5988The 2016 ACM-ICPC Asia Qingdao Regional ContestG - Coding Contest 最小费用流

    很巧妙的建边方式 题意:有n个区域,每个区域有一些人数si和食物bi,区域之间有m条定向路径,每条路径有人数通过上限ci.路径之间铺了电线,每当有人通过路径时有pi的概率会触碰到电线,但是第一个通过的 ...

  7. 2016 ACM-ICPC China Finals #F Mr. Panda and Fantastic Beasts

    题目链接$\newcommand{\LCP}{\mathrm{LCP}}\newcommand{\suf}{\mathrm{suf}}$ 题意 给定 $n$ 个字符串 $s_1, s_2, \dots ...

  8. HDU-SupportOrNot训练实录

    菜鸡队训练实录. 现场赛记录: 2016:[名称:奖项/排名] ZJPSC:Gold/1 CCPC中南邀请赛:Gold/1 ICPC Dalian:Gold/24 ICPC Beijing:Gold/ ...

  9. HDU 4614 Vases and Flowers (2013多校2 1004 线段树)

    Vases and Flowers Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others ...

随机推荐

  1. C++-static的用法

    static成员变量 为什么要有静态成员变量:1)不进入全局名字空间.2)实现信息隐藏 要点: 除了整型的const 静态成员变量可以在类体内初始化,其它值都需要在类体外的实现文件定义 static函 ...

  2. MicroPython开发板TPYBoard关于USB-HID的应用

    USB-HID是Human Interface Device的缩写,属于人机交互操作的设备,如USB鼠标,USB键盘,USB游戏操纵杆,USB触摸板,USB轨迹球.电话拨号设备.VCR遥控等等设备. ...

  3. CSS 3D旋转 hover 后设置transform 是相对于正常位置

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. Typographical Concepts

    Glyph(字形) A glyph is an element of writing: an individual mark on a written medium that contributes ...

  5. PHP+MySql字符问题原理分析

    假如数据库已经设置了utf-8 ,php文件也设置了utf-8 ,但在php文件的查询语句中未添加了 mysql_query("set names utf8")语句,此时php页面 ...

  6. 排版字号对应多少pt

    各字号对应多少pt?初号= 42pt: 小初号= 36pt: 一号= 26pt: 二号= 22pt: 小二号= 18pt: 三号= 16pt: 四号= 14pt: 小四号= 12pt: 五号= 10. ...

  7. js 检测 flash插件以及版本号 通用所有浏览器

    var fls = flashChecker(); if (fls.h) { if (fls.v < parseFloat('8.0')) { alert("您当前的flash pla ...

  8. 文件操作II

    <html> <head> <meta charset="utf-8"> </head> <body> <?php ...

  9. SQL语句建表、设置主键、外键、check、default、unique约束

    · 什么是数据库? 存放数据的仓库. · 数据库和数据结构有什么区别? 数据结构要解决在内存中操作数据的问题,数据库要解决在硬盘中操作数据的问题.数据结构研究一些抽象数据模型(ADT)和以及定义在该模 ...

  10. 斜率dp cdq 分治

    f[i] = min { f[j] + sqr(a[i] - a[j]) } f[i]= min { -2 * a[i] * a[j] + a[j] * a[j] + f[j] } + a[i] * ...