SDU暑期集训排位(5)

A. You’re in the Army Now

题意

  • 类似选志愿。每个人有 mark,有优先级从高到低的志愿。

做法

  • 定睛一看,鲨鼻题。然后 WA。
  • 为什么会 WA 呢?名字排序。
    • 前缀后缀空格的去除。
    • 题面中讲:人的名字由小写大写字母与空格组成,那么有可能名字里有连续多个空格。
    • a 和 B 优先级谁小呢?

When letters are equal consider capital letters less, in other case
don’t consider their case

Orc name can consist only from lowercase and uppercase Latin letters and
spaces, but does not have leading and trailing spaces (you should omit them if they’re in the input).

  • 题面中该表达的信息表达得很清楚,如果读题读成憨憨了,没什么好抱怨的。

D. Castle

upsolved

题意 给 \(n\) 个凸多边形,形成一个闭集套,给 \(m\) 个点,每个点被选择后,这个点所在的平面区域涂成黑色,求黑色面积。

做法 对凸多边形按照面积从小到大排序,对于一个点,二分最内层的包含这个点的多边形。判断点是否在凸包内可以 \(O(log n)\) 时间实现。

unlimited Wrong Answer on Test 5 Work

  • PS 小心凸包会不会三点共线。

upd: sdcgvhgj使用了憨憨排序,红书的板子需要传入严格凸包


G. Princess

题意 当头发长度为 \(k\) 时剪成光头,头发增长速度会变成 \(k\) m/每周,一个光头初始增长速度为 \(1\) m/每周。以最快的速度头发长度增长到 \(L\)。

做法 剪头发的决策是个泛函,具体证明得请教《泛函分析》

  • 口胡结论,我们每 \(x\) 周减一次头发。
  • 那么第 \(k\) 次剪头发时,即第 \(kx\) 周头发长度为 \(x^k\) (\(k\)为整数)
  • 从小到大枚举一下 \(k\)。对答案取极小。
  • 神妙的事情:这个问题,可以成为自然对数的背景之一。

I. Spell

题意 给n个字符串,输出字典序第k大的,同时是n个字符串的子串的字符串
做法

  • 求一个字符串的第k大子串是SAM的经典问题,只需要dp出从每个点开始的路径数,然后边在SAM上跑边输出答案就好
  • 求同时是n个字符串的子串的串也是SAM的经典问题,只需要对n个串建广义SAM然后统计每个点的子树中是否包含所有n个串中的位置
  • 所以这题是个不算麻烦的题,只需要把第二个问题中合法的点拿出来给第一个问题
  • WA->重读题->没毛病->对拍->拍不出错->乱改->xjb交->WA->..(2h)..->发现读错题。。。我是憨憨

J. Orcish Transportation

题意

  • 定义 \(f(i)=[i \geq n]?i-n:i+n\)。
  • 输入边 \(u,v,w\)。\(u\) 向 \(v\) 连容量为 \(w\) 的边,\(f(v)\) 向 \(f(u)\) 连容量为 \(w\) 的边。
  • 求 \(1\) 到 \(n+1\) 最大流。

做法

  • 直接建图求最大流,边 \(u,v\) 的流为 \(flow(u,v)\),\(flow_{ans}(u,v) = \frac{flow(u,v)+flow(f(u),f(v))}{2}\)

证明

  • 考虑流可行的充要条件。

    1. 对边:流量小于容量上限。
    2. 对非源、汇的点:流量守恒。
    3. 从源点流出的流量,等于流入汇点的流量。
  • 对 1 的证明:\(flow(u,v) \leq lim(u,v), flow(f(u),f(v)) \leq lim(u,v)\),因此 \(flow_{ans}(u,v) = \frac{flow(u,v)+flow(f(u),f(v))}{2} < lim(u,v)\)
  • 对 2 的证明:
    • 考虑 \(u\) 点建立的流量守恒等式,称为

      SDU暑期集训排位(5)的更多相关文章

      1. SDU暑期集训排位(9)

        SDU暑期集训排位(9) G. Just Some Permutations 基础 DP 练习部分 定义 \(f(S)\),表示让 S 中的人全 happy 的方案数. \(dp[i][j]\) 表示 ...

      2. SDU暑期集训排位(4)

        SDU暑期集训排位(4) C. Pick Your Team 题意 有 \(n\) 个人,每个人有能力值,A 和 B 轮流选人,A 先选,B 选人按照一种给出的优先级, A 可以随便选.A 想最大化己 ...

      3. SDU暑期集训排位(8)

        A. A Giveaway 签到 B. Game of XOR 做法 dp[G][L][R]表示在倒数第G代,左边的数是L,右边的数是R,下面共有多少个0和1 区间和转换成两次前缀和和一次单点查询 利 ...

      4. SDU暑期集训排位(3)

        B. Mysterious LCM 做法 保留 \(a_i|x\) 的元素,其它元素解体. \(a_i\) 的某个质因子的指数,要和 \(x\) 的这个质因子一样多,才有贡献,否则这个质因子它在划水啊 ...

      5. SDU暑期集训排位(2)

        A. Art solved by sdcgvhgj 3min 签到 B. Biology solved by sdcgvhgj 85min 暴力 C - Computer Science solved ...

      6. 2014年CCNU-ACM暑期集训总结

        2014年CCNU-ACM暑期集训总结 那个本期待已久的暑期集训居然就这种.溜走了.让自己有点措手不及.很多其它的是对自己的疑问.自己是否能在ACM这个领域有所成就.带着这个疑问,先对这个暑假做个总结 ...

      7. 8.10 正睿暑期集训营 Day7

        目录 2018.8.10 正睿暑期集训营 Day7 总结 A 花园(思路) B 归来(Tarjan 拓扑) C 机场(凸函数 点分治) 考试代码 A B C 2018.8.10 正睿暑期集训营 Day ...

      8. 8.6 正睿暑期集训营 Day3

        目录 2018.8.6 正睿暑期集训营 Day3 A 亵渎(DP) B 绕口令(KMP) C 最远点(LCT) 考试代码 A B C 2018.8.6 正睿暑期集训营 Day3 时间:5h(实际) 期 ...

      9. 8.9 正睿暑期集训营 Day6

        目录 2018.8.9 正睿暑期集训营 Day6 A 萌新拆塔(状压DP) B 奇迹暖暖 C 风花雪月(DP) 考试代码 A B C 2018.8.9 正睿暑期集训营 Day6 时间:2.5h(实际) ...

      随机推荐

      1. 算法与数据结构基础 - 哈希表(Hash Table)

        Hash Table基础 哈希表(Hash Table)是常用的数据结构,其运用哈希函数(hash function)实现映射,内部使用开放定址.拉链法等方式解决哈希冲突,使得读写时间复杂度平均为O( ...

      2. snort规则中byte_test参数详解

        例子: byte_test:4,>,1000,20 这里是从本规则内前面匹配的位置结尾开始,向后偏移20个字节,再获取后面的4个字节的数据,与十进制数据1000进行比较,如果大于1000,就命中 ...

      3. luogu1220_关路灯 区间dp

        传送门 区间dp f[i][j][state] : [i, j]区间 state=0 当前选i state = 1 当前选j 注意枚举的顺序 转移的设计时 在同时刻不在[i,j]区间里的数也要考虑 不 ...

      4. kali,ubuntu, debain DNS 配置

        kali 是基于 debain 的一个 Linux 发行版 DNS 的配置 是在文件 /etc/resolv.conf  下. 但是,我们会发现 /etc/resolv.conf 每次重启都会失效, ...

      5. Java基础的一些知识点(一):接口interface

        1.接口的含义 接口可以理解成统一的协议, 而接口中的属性也属于协议中的内容.但是接口的属性都是公共的,静态的,最终的. 接口的成员特点: 1.成员变量只能是常量,默认修饰符 public stati ...

      6. Linux--shell重定向与文件处理命令--02

        一.IO重定向 1.数据输入:键盘---标准输入,但并不是唯一输入方式 ” | passwd –stdin username #同时添加用户和密码 while line;do 循环体...$line ...

      7. Simple Windows Service in C++

        本文是来自CodeProject中的一篇名为Simple Windows Service in C++的译文,原文地址为:https://www.codeproject.com/Articles/49 ...

      8. Mac如何前往文件夹 修改hosts文件 显示隐藏文件 Mac如何查看剪切板

        Mac 如何前往文件夹 首先,回到桌面,或者点击Finder(访达) 然后输入快捷键 ⌘ Command + ⇧ Shift + G 或者在Finder上方状态栏中点击‘前往’>>> ...

      9. 曹工杂谈:Java 类加载还会死锁?这是什么情况?

        一.前言 今天事不是很多,正好在Java交流群里,看到一个比较有意思的问题,于是花了点时间研究了一下,这里做个简单的分享. 先贴一份测试代码,大家可以先猜测一下,执行结果会是怎样的: import j ...

      10. 如果有人问你 Dubbo 中注册中心工作原理,就把这篇文章给他

        注册中心作用 开篇首先想思考一个问题,没有注册中心 Dubbo 还能玩下去吗? 当然可以,只要知道服务提供者地址相关信息,消费者配置之后就可以调用.如果只有几个服务,这么玩当然没问题.但是生产服务动辄 ...