2017雅礼集训 Day4

今日得分:100+100+80(puts("nan")骗得70分) = 280

今日题解:

T1:依赖关系构成一个森林,直接树形DP

T2:最终答案只会选两个区间,除去覆盖情况后枚举右端点,单调队列维护左端点即可

T3:积分后发现是求最终距离的4次方的期望,直接平方求出二次方的期望,然后容斥求出四次方

T3什么玩意

时间: 2024-10-06 05:28:34

2017雅礼集训 Day4的相关文章

2017雅礼集训 Day1

今日得分:60+0(忘记关调试输出)+50 = 110 今日题解: T1:std做法:直接暴力n^2枚举,搜索加最优性剪枝 做法2:O(17n)DP,记录匹配偏移量 T2:求出通项,把不同的幂次拆开计算,单独一项的幂次可以分治FFT 我的做法:分治矩乘,但我不知道矩阵怎么FFT T3:虚树+树链剖分维护,标程400行 感觉还行?明天会做得更好的

2017雅礼集训 Day2

今日得分:60+100+25 = 185,修改后60+100+100 今日题解: T1:有nlogn对不合法的数对,这些数对在DFS序上的支配范围画在平面上是一个或两个矩形,求矩形面积并即可 T2:递推,考虑新增加的一行一列的状态 1.与前面的一行共同完全占据了两行两列,为避免重复我们规定必须选第i列,那么行有C(i,2)种选法,列有i-1种:f[i-2]*C(i,2)*(i-1) 2.没有与前面一行共同占据两行两列,那么相当于把冲突的其中一个位置换到最后一列去:f[i-1]*C(i,2)*2

#6030. 【雅礼集训 2017 Day1】矩阵

#6030. 「雅礼集训 2017 Day1」矩阵 题目描述 有一个 n×n  的矩阵,每个位置 (i,j) 如果是 . 表示为白色,如果是 # 表示为黑色. 初始时,每个位置可以是黑色或白色的,(i,j)  位置的值会作为 ai,j 给你. 现在有一种操作,选择两个整数 i,j∈[1,n],记 (i,1),(i,2),…,(i,n) (i, 1), (i, 2)的颜色为 C1,C2,…Cn ??,将 (1,j),(2,j),…,(n,j)  的颜色赋为 C1,C2,…,Cn ??. 你的任务是

2017雅礼省选集训做题记录

嘛,最近在补雅礼省选前集训的题.都是我会做的题..那一定是最水的那些题啦 题目在loj.ac上都有.过段时间如果搬了雅礼NOI集训的题应该也会做做的吧.. Day1 T1 一道经典套路题,做法跟UOJ #228基础数据结构练习题类似. 使用线段树维护.考虑相邻两个数的差值最多变化log次.也就是说,对于每个区间,只要操作二进行大概log次就能使得这个区间内所有数完全一样.所以对于操作二,只要记录一下区间最大最小值,就能直接打标记或者暴力DFS下去. 和UOJ那个题一样,注意一个特殊情况,就是一个

「6月雅礼集训 2017 Day4」qyh(bzoj2687 交与并)

原题传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2687 [题目大意] 给出若干区间,求一个区间的大于等于2的子集,使得 |区间并| 和 |区间交| 的乘积最大. $1\leq n, L_i, R_i \leq 10^6$ [题解] 把区间去掉包含情况,然后进行排序,变成$L_i$和$R_i$都递增的数列. 然后容易发现取得区间一定是连续的一段. 然后我们推一推决策单调性,我把考试的时候推的写在代码里了 然后直接单调队列优化即可. 然后

「6月雅礼集训 2017 Day4」暴力大神hxx

[题目大意] 给出一个n重循环,每重循环有范围$[l, r]$,其中$l$,$r$可能是之前的变量,也可能是常数.求循环最底层被执行了多少次. 其中,保证每个循环的$l$,$r$最多有一个是之前的变量.设所有常数最大值为C. $1 \leq n \leq 26, 1\leq C \leq 10^5$ [题解] 发现构成了一个森林. 树形dp,稍微推一些循环交换顺序等等的性质,然后乘在一起就行了. 大概设f[x,i]表示到了x这个点,x的取值为i,x的子树的执行次数. 转移用个前缀和优化即可.复杂

LOJ #6035.「雅礼集训 2017 Day4」洗衣服 贪心

这道题的贪心好迷啊~我们对于两个过程进行单独贪心,然后再翻转一个,把这两个拼起来.先说一下单独贪心,单独贪心的话就是用一个堆,每次取出最小的,并且把这个最小的加上他单次的,再放进去.这样,我们得到的结果,是对于某些洗衣机,不停地洗,然后把这些洗衣机的时间,混在一起,排个序,由于对于每个洗衣机,如果被用到,那么他就会被不停地用,如果我们稍作改动,就一定会是用小的换来大的,所以这样最优.我们把两个拼起来为什么是对的呢.对于两个单独的答案,最优的无疑是,翻转之后拼起来,因为如果不是这样,也就是说进行了

雅礼集训——day3、day4

day3: 上午考试就拿了10分... T1写了个N^3的暴力,然后就拿了10分...正解是要二分时间然后找到前m个脚,然后用二分套二分求第k大.... T2看了半天感觉并不可做...然后正解居然要用斐波拉契数列的通项来求解.... T3求最小生成树的个数,我以为这道题还是可以拿50分的,然后就没有然后了.推了2小时的样例然后强行把自己劝退了...正解是要用字母树+贪心... 要学的东西又多了好多,压力好大... 下午讲的字符串算法,最后的那个回文树不是很明白...这两天得学一下字符串算法 da

loj6029 「雅礼集训 2017 Day1」市场

传送门:https://loj.ac/problem/6029 [题解] 考虑如果有一些近似连续的段 比如 2 2 2 3 3 3,考虑在除3意义下,变成0 0 0 1 1 1,相当于整体-2 又:区间增加很容易造成这种段,所以我们猜测可以暴力维护 用一棵线段树即可.(好像真的能暴力维护啊 我不知道怎么证明复杂度) # include <stdio.h> # include <string.h> # include <iostream> # include <al