2018 ACM-ICPC 青岛网络赛
最近打比赛不知道为什么总是怀疑自己
写完之后不敢交,一定跟学长说一遍自己的思路
然后发现"哦原来我是对的"
然后就A掉了……
所以还是要有自信
Problem A
最大值直接输出m,最小值二分答案就可以了 。
Problem B
现场没过这个题……
原因是……ZJH的代码写错了一个细节(看起来很对)
所以有的时候并不能想当然。
我们的思路是这样的,首先把原来的树分成若干子树。
记录每个点管辖它的最近的红祖先。然后分离出来。
对于每个询问得到若干个子树,每个子树若干个被询问的点。
我们发现答案肯定不会小于第二大的子树的那个答案。
那么要做的事情就是在第一大的子树里面添加红点。
把第一大的子树里面的询问的点按照距离降序排序。
然后前缀LCA求下来更新答案,跟后面的没有减小答案的求个较大值然后更新答案。
时间复杂度$O(nlogn + ∑klogk)$
Problem C
简单的模拟题,按照题意走下一步。
开个数组标记一下,如果之前走到过这步那么结果是No。
Problem D
Problem E
Problem F
Problem G
这个题我们要对每个数实时维护他所在的那个连通区间(最左端,最右端)
我用了线段树实现。
首先有个结论:每次把一个序列拆成两段,小的那段的规模加起来级别是$nlogn$的。
那么每次假设我们知道了$[L, R]$的逆序对个数,现在要把他拆成$[L, x - 1], [x + 1, R]$,
那么枚举小的那段的每个数,求出另一段有几个数大于或小于他,这个用主席树实现。
同时求出小的那段的逆序对数,这个跟上面那个类似。
然后还要求出$x$这个位置的数对两边分别的影响(也是主席树上查询)
那么这样就可以求出两段各自的逆序对数,套个堆就可以了。
Problem H
Problem I
Problem J
Problem K
2018 ACM-ICPC 青岛网络赛的更多相关文章
- 2018 icpc 青岛网络赛 J.Press the Button
Press the Button Time Limit: 1 Second Memory Limit: 131072 KB BaoBao and DreamGrid are playing ...
- 2018 ICPC青岛网络赛 B. Red Black Tree(倍增lca好题)
BaoBao has just found a rooted tree with n vertices and (n-1) weighted edges in his backyard. Among ...
- HDU 4731 Minimum palindrome 2013 ACM/ICPC 成都网络赛
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4731 题解:规律题,我们可以发现当m大于等于3时,abcabcabc……这个串的回文为1,并且字典数最小 ...
- HDU 4734 F(x) 2013 ACM/ICPC 成都网络赛
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4734 数位DP. 用dp[i][j][k] 表示第i位用j时f(x)=k的时候的个数,然后需要预处理下小 ...
- HDU 4741 Save Labman No.004 2013 ACM/ICPC 杭州网络赛
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4741 题意:给你两条异面直线,然你求着两条直线的最短距离,并求出这条中垂线与两直线的交点. 需要注意的是 ...
- 2013 ACM/ICPC 成都网络赛解题报告
第三题:HDU 4730 We Love MOE Girls 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=4730 水题~~~ #include < ...
- 2016 年 ACM/ICPC 青岛区域赛 Problem C Pocky
昨晚乱入学弟的训练赛,想了一下这个题.推导的过程中,加深了对公理化的概率论理解.$\newcommand{\d}{\mathop{}\!\mathrm{d}}$ 解法一 考虑 $ d < L$ ...
- 2013 ACM/ICPC 长春网络赛E题
题意:给出一个字符串,要从头.尾和中间找出三个完全相等的子串,这些串覆盖的区间互相不能有重叠部分.头.尾的串即为整个字符串的前缀和后缀.问这个相同的子串的最大长度是多少. 分析:利用KMP算法中的ne ...
- 2013 ACM/ICPC 长春网络赛F题
题意:两个人轮流说数字,第一个人可以说区间[1~k]中的一个,之后每次每人都可以说一个比前一个人所说数字大一点的数字,相邻两次数字只差在区间[1~k].谁先>=N,谁输.问最后是第一个人赢还是第 ...
- 2013 ACM/ICPC 长沙网络赛J题
题意:一个数列,给出这个数列中的某些位置的数,给出所有相邻的三个数字的和,数列头和尾处给出相邻两个数字的和.有若干次询问,每次问某一位置的数字的最大值. 分析:设数列为a1-an.首先通过相邻三个数字 ...
随机推荐
- Java 异常(Java Exception)
Java异常 异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 过API中Throwable类的众多子类 ...
- 【BZOJ】2982 combination
[算法]组合数取模——lucas定理 #include<cstdio> #include<algorithm> #include<cstring> using na ...
- 基本控件文档-UIKit结构图---iOS-Apple苹果官方文档翻译
本系列所有开发文档翻译链接地址:iOS7开发-Apple苹果iPhone开发Xcode官方文档翻译PDF下载地址 UIKit结构图 //转载请注明出处--本文永久链接:http://www.cnbl ...
- Python 用ctypes观察Python对象的内存结构 -- (转)
!!!强烈推荐的好文章!!! 对象的两个基本属性 Python所有对象结构体中的头两个字段都是相同的: refcnt:对象的引用次数,若引用次数为0则表示此对象可以被垃圾回收了. typeid:指向描 ...
- Android使用TextView实现跑马灯效果(自定义控件)
对于一个长的TetxView 折行显示是一个很好的办法,另一种方法就是跑马灯显示(单行滚动) 1.折行显示的长TextView <LinearLayout xmlns:android=" ...
- LeetCode 19 Valid Parentheses
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...
- mysql查询语句的执行顺序(重点)
一 SELECT语句关键字的定义顺序 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOI ...
- Optimizing subroutine calls based on architecture level of called subroutine
A technique is provided for generating stubs. A processing circuit receives a call to a called funct ...
- Bit banging
Bit banging Bit banging is a technique for serial communications using software instead of dedicated ...
- [device tree] How to decompile a compiled .dtb (device tree blog) into .dts (device tree source).
$ ./out/target/product/project_name/obj/KERNEL_OBJ/scripts/dtc/dtc -I dtb -O dts -o decompiled.dts ~ ...