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. 19个心得,明明白白说Linux下的负载均衡

        一.目前网站架构一般分成负载均衡层.web层和数据库层,我其实一般还会多加一层,即文件服务器层,因为现在随着网站的PV越来越多,文件服务器的压力也越来越大;不过随着moosefs.DRDB+Heart ...

      2. unc路径

        1.什么是UNC路径?UNC路径就是类似\\softer这样的形式的网络路径.UNC为网络(主要指局域网)上资源的完整 Windows 2000 名称.格式: \\servername\sharena ...

      3. Spring中FactoryBean的作用和实现原理

        BeanFactory与FactoryBean,相信很多刚翻看Spring源码的同学跟我一样很好奇这俩货怎么长得这么像,分别都是干啥用的.BeanFactory是Spring中Bean工厂的顶层接口, ...

      4. 【Python-Django】浏览器同源策略

        1995年,同源政策由 Netscape 公司引入浏览器.目前,所有浏览器都实行这个政策. 同源策略是浏览器的一个安全功能,不同源的客户端脚本(js文件)在没有明确授权的情况下,不能读写对方资源.只有 ...

      5. JDBC连接池-C3P0连接

        JDBC连接池-C3P0连接 c3p0连接池的学习英语好的看英文原版      c3p0 - JDBC3 Connection and Statement Pooling 使用c3p0连接池  三种方 ...

      6. 按需制作最小的本地yum源

        [需求背景] 有时候客户的环境里面只能离线安装文件,此时可以使用CentOS的ISO光盘作为本地源进行安装,或者是制作一个包含了YUM源服务的虚拟机. 无论上面的哪一种方式都不够轻量,我们自己的组件可 ...

      7. 【Java例题】2.1复数类

        1.定义复数类,包括实部和虚部变量.构造方法. 加减乘除方法.求绝对值方法和显示实部.虚部值的方法. 然后编写一个主类,在其主方法中通过定义两个复数对象来 显示每一个复数的实部值.虚部值和绝对值, 显 ...

      8. javascript基础案例解析

        学完了JavaScript基础部分,总结出一些基本案例,以备日后查看! 1.九九乘法口诀表:在控制台中输出九九乘法口诀表!代码如下: <!DOCTYPE html> <html> ...

      9. 定时器任务django-crontab的使用【静态化高频率页面,增加用户体验】【系统的定时器,独立于项目执行】【刘新宇】

        页面静态化 思考: 网页的首页访问频繁,而且查询数据量大,其中还有大量的循环处理. 问题: 用户访问首页会耗费服务器大量的资源,并且响应数据的效率会大大降低. 解决: 页面静态化 1. 页面静态化介绍 ...

      10. python学习之并发编程(理论部分)

        第一章 操作系统 管理控制协调计算机中硬件与软件的关系. 操作系统的作用? 第一个作用: 将一些对硬件操作的复杂丑陋的接口,变成简单美丽的接口. open函数. 第二个作用: 多个进程抢占一个(CPU ...