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. 脱壳系列_0_FSG壳_详细版

        ---恢复内容开始--- 1 查看信息 使用ExeInfoPe查看此壳程序 可以看出是很老的FSG壳. 分析: Entry Point : 000000154,熟悉PE结构的知道,入口点(代码)揉进P ...

      2. css3系列之详解perspective

        perspective 简单来说,就是设置这个属性后,那么,就可以模拟出像我们人看电脑上的显示的元素一样.比如说, perspective:800px   意思就是,我在离屏幕800px 的地方观看这 ...

      3. 从动态代理到Spring AOP(中)

        一.前言 上一章节主要介绍了JDK动态代理和CGLIB动态代理:https://www.cnblogs.com/GrimMjx/p/11194283.html 这一章主要结合我们之前学习的动态代理的基 ...

      4. 有趣的RPC理解

        RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC协议假定某些传输协议的存在,如TCP或UDP,为通 ...

      5. Netty学习(九)-Netty编解码技术之Marshalling

        前面我们讲过protobuf的使用,主流的编解码框架其实还有很多种: ①JBoss的Marshalling包 ②google的Protobuf ③基于Protobuf的Kyro ④Apache的Thr ...

      6. React Native-路由跳转

        搭建完RN开发环境后(搭建方式可查看https://www.cnblogs.com/luoyihao/p/11178377.html),要实现多个页面之间的跳转. 1.这时需要安装react-navi ...

      7. org.apache.spark.logging类报错

        一,1 在使用spark读取kafka数据时,当spark升级到2.0之后,出现如上问题:之前遇到了,当时在工程里面添加了org.apache.spark.Logging类,能够运行. 但是在后期使用 ...

      8. echarts3.x遇到的坑

        此文章用来记录echarts3.x遇到的坑,方便以后自己不再犯. 1.柱形图设置了yAxis.splitArea.show=true,后面设置的splitLine就会变不可见了.也没在官方文档中找到说 ...

      9. 简易数据分析 10 | Web Scraper 翻页——抓取「滚动加载」类型网页

        这是简易数据分析系列的第 10 篇文章. 友情提示:这一篇文章的内容较多,信息量比较大,希望大家学习的时候多看几遍. 我们在刷朋友圈刷微博的时候,总会强调一个『刷』字,因为看动态的时候,当把内容拉到屏 ...

      10. Linux--shel的if判断语句--05

        if条件语句的使用格式: 1.单分支语句 if [ 条件 ];then 执行语句 fi 注意:[ 条件 ] :条件与中括号要用空格分割:下面的语句同理. 2.双分支语句 if [ 条件 ];then ...