2019 Multi-University Training Contest 2

A. Another Chess Problem


B. Beauty Of Unimodal Sequence

题意 给一个序列,求下标字典序最小和字典序最大的,先增后减的序列。

解体过程

  • 比赛时首先不知道字典序最小LIS怎么求。
  • 试图枚举分界点。【解体的开始】
  • 公无渡河,公竟渡河?
  • 活鱼在摸鱼,rdc在划水,sdcgvhgj在水深火热。

做法

  • 考虑字典序最小的LIS怎么求?

    • 这是个经典问题,预处理前缀LIS后缀LIS,check每个元素能都出现在整个序列LIS中,对能出现的元素,记录出现在LIS中的下标。
    • 下标为 1 最小元素,下标为 2 的最小元素..... etc
  • \(pre[i][0/1], suf[i][0/1]\) 分别维护前缀后缀信息,数组第二维记录表示升or降。
  • 逐位考虑填什么。

C. Coefficient

多项式套多项式。好难不会。


D. Double Tree

边分治。好难,不会。


E. Everything Is Generated In Equal Probability

solved by rdc 62min

题意 在 \(1\) 到 \(N\) 随机一个 \(n\),再随机一个 \(1\) 到 \(n\) 的排列,每次先计算逆序对加入得分,再随机选一个子序列,求得分期望。

做法 考虑一个 pair 对答案的贡献即可。


F. Fantastic Magic Cube

solved by rdc 242min, assisted by F0_0H

题意 一个空间立方体的权值为区域内所有整点 \(x,y,z\) 异或值之和,现需要把 \(n*n*n\) 的立方体,切割成 \(n*n*n\) 个 1*1*1,可以横向或者纵向切割,花费为两部分权值之积,最大化得分。

识破 观察一维的 case,发现得分与切割无关。

做法 每两个点对答案的贡献为常量,与切割方式无关。只需计算 x^y^z=a 的方案数,FWT 即可。

复盘 很早就看了这个题,想法有:按位统计贡献,决策最优点有什么性质,乘法有特殊含义。 最后一条接近真相了,但当时看这题通过人数较少就没有继续考虑下去了。


G.Game

upsolved by sdcgvhgj
题意 3x3的棋盘某些位置有黑子或白子,A每次拿走一个白子,并拿走其左右两侧的棋子或上下两侧的棋子或上下左右的棋子,B每次拿走一个黑子,不能操作则输,n个棋盘同时进行,问A必胜还是B必胜还是先手必胜还是后手必胜。
做法

  • B自己玩着玩着就死了,每走一次都不如不走,所以对于A来说,B先手一定更优
  • 所以左集一定小于右集,能用超实数表示
  • 所以求一下每个局面的超实数加起来判断符号的正负就好
  • 整了个板子code

H. Harmonious Army

solved by F0_0H 135min -5

题意 一群人分为两个集合,存在一些两人之间的关系,分为同一集合或不同集合都有相应的收益,问收益最大

题解 最小割经典例题,详见16年国际集训队论文——《网络流的一些建模方法》姜志豪

比赛时贡献了全队罚时,败给了五发错误提交,全因一个变量未清空,凉凉。

warning 交题之前仔细检查数据清空。


I. I Love Palindrome String

solved by sdcgvhgj 56min
题意 给定字符串s,对于\(i∈[1,|S|]\)求有多少子串长度为i,且是回文的,且左半也是回文的。
做法 回文树求出每个本质不同的回文串及其出现次数,马拉车判断是否左半回文。


J. Just Skip The Problem

签到 by rdc 27min


K. Keen On Everything But Triangle

solved by F0_0H 38min

题意 给定长度为\(n\)的正整数序列,每次询问一段区间能构成的最大三角形。

做法

又是一道学长白给题,对序列建主席树,每次询问暴力查询前三大,不断尝试,直到成功为止。
由于Fib的性质,尝试失败的次数是log级别的

识破 Fib


L. Longest Subarray

solved by rdc 156min

题意 查询极长的子区间,内部出现过的每种元素出现次数超过 k。

做法

  • 从小到大枚举右端点,考虑哪些左端点的会被 ban 掉。
  • 我们可以发现 ban 掉的左端点是一些区间并,线段树维护。

总结

  • X1 阶段(0h-1h):开场 E、H、I、J、K 靠着技能储备以及战斗经验很稳当地提出了做法,比赛节奏十分紧凑。
  • X2 阶段(1h-2.5h):通过 EIJK 之后,LH 轮流上机,L 题想法犹豫了,H 的实现也遇到了一些问题。这段时间本应做好中期攻坚工作,承上启下,但今天的表现完完全全是在集体划水,LH 拖沓,B 题未能提出合理的做法来。
  • Y 阶段:开始集火 B 题,可惜显得有些盲目,rdc 在比赛临近结束时提出了比较真的做法,但时间所剩无几,最终无功而返。

最新文章

  1. 【maven】 在 MyEcplise上使用maven搭建Web项目
  2. weed-fs参数列表
  3. c++ template函数的声明和实现需要在同一个文件中
  4. Java学习-003-JDK、JRE、JVM简介
  5. 一幅图概括Android测试的方方面面
  6. 【http】
  7. c++矩阵运算
  8. KV总结
  9. Lambert
  10. openstack 源码分析
  11. 安装 Node 和 gulp
  12. javaWeb 基础知识
  13. AngularJS 最常用的几种功能
  14. VSCode插件开发全攻略(三)package.json详解
  15. [xdoj] 1310 DSKer的卡牌游戏
  16. Android Activity传递数据使用getIntent()接收不到,揭秘Intent传递数据与Activity启动模式singleTask的关系。
  17. Codeforces Round #540 (Div. 3)--1118D1 - Coffee and Coursework (Easy version)
  18. STL容器-- forward_list 用法
  19. 【题解】 Codeforces 919F A Game With Numbers(拓扑排序+博弈论+哈希)
  20. [Canvas]游戏增加怪物爆炸效果,改善箭头形状

热门文章

  1. Python3数据驱动ddt
  2. Thinkphp5.0快速入门笔记(1)
  3. [ PyQt入门教程 ] PyQt5基本控件使用:消息弹出、用户输入、文件对话框
  4. HelloDjango 系列教程:Django 的接客之道
  5. 比特平面分层(一些基本的灰度变换函数)基本原理及Python实现
  6. 从零开始实现ASP.NET Core MVC的插件式开发(四) - 插件安装
  7. Java8 CompletableFuture 编程
  8. HashMap源码分析之面试必备
  9. c# 读取 txt 文件中数据(int)
  10. sparksession创建DataFrame方式