2019.09.21考试报告

T1

可以发现值域的区间最多有klnk个,对于位置分块,每个块都处理出每个k的ans,

复杂度$ O(S*(n/S+klnk)+m*(n/S+S)) $

当S=sqrt(klnk+n)时复杂度最优

T2

先把x排序

$ f[i][0/1] $代表以i为第一个端点向左/右的方案数,枚举j:

1> $ y[j]<y[i] f[i][0]+=f[j][1]; $

2> $ y[j]>y[i] $ 枚举$ j<k<i $ && $ y[k]<y[i]  f[j][1]+=f[k][1] $

复杂度 $ O(n^3) $

接着我们发现根本不用枚举k,他的sum值就是现在的f[i][0]

T3

考虑逆着把1全染成0

枚举每个点,以这个点为中心不断地把和它在一个块里面的全染成另一个颜色,直到全成0

这样的复杂度是 $ O(n^5) $ 的,本题无法承受

经过观察可以发现,最后的答案就是相邻点建边(同色w=0,不同w=1)的到黑色点的dis最大值

复杂度 $ O(n^4) $

原文地址:https://www.cnblogs.com/AthosD/p/11566870.html

时间: 2024-11-29 09:22:02

2019.09.21考试报告的相关文章

2019.07.12考试报告

这次被山大附中的大佬暴踩了. 0-1.5h 考试期间心态依旧很好,T1打了一个暴力,期望得分60分,T2打了dfs拿35分左右,T3直接输出样例,期望得分0分 1.5~2h 突然发现T1好像能O(q*n*log2(n))搞出来(类似退化版山海经),打了出来过了样例,还是不放心便对拍了一下,但是数据真的好难造啊T_T. 2~3.5h 有点不在状态,有可能是利哥中午的鼾声太魔性了,想了想T2的dp,成功把T2搞到了10分(hx输出样例15分) 考试结束 最终得分50+10+0=60分,拿了rank7

2019.08.01考试报告

-3h:有点紧张,前两次考试爆炸,这次很关键(无论是对于信心还是对于分机房) -1h:好好地休息了一个中午,没浪- +1h:快速打完T1的暴力40分+线段树的正解,一边对拍一边开始打T2 +1.5h:woc这T2样例是假的吧?!打了两种dfs发现输出是一样的都是20,便不管它了 +2h:码完T3的暴力,码的过程中有点紧张,因为双线卡题而且T2暴力样例过不了. +2.5h:疯狂检查T2是不是读错题了,发现并没有,感觉要完戏了... +3h:卡了卡常,发现了T3的对手操作其实就是逻辑左移,但是没想出

2019.08.05考试报告

用了几个月的Linux竟然对拍是错的: 原来./后面要直接加东西,我以前考试的对拍都是假的(怪不得造出的数据在运行对拍程序时不会变)... 话说,我竟然活到了现在? -1h:和skyh日常互相毒奶(我又成功了(大雾)) 0h:考试开始,心里面确实放空了,不去想自己的命运,自己的归属,专心干T1. 1h:T1顺利码出80分并用假对拍拍对了,同时开始打T3,好像是个奇袭? 1.5h:还是选择了直接去写暴力,因为这题的暴力分有50分,很肥很肥... 2h:有了T1的80分再去写T2就比较轻松了,发现是

2019.10.02考试报告

T1 一般都能想到二分+取前m大正值,但是复杂度无法承受,我们发现要的是sum值,并不需要每个位置的准确值, 所以用可以nth_element把大于第m大的放右边即可.(原来nth还可以这么用). nth_element实现: 每次找一个base,小于base的放右边,大于的放右边 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int N=1e8+10; 4 int n,k,a[N]; 5 inline int read()

2019.10.03考试报告

10min:打完T1,为了不滑天下之大稽,打了一个对拍 50min:打完了T2T3的暴力,准备推一推T2. 2h:打完T3的正解和对拍. 3h:T3写了一个O(n*log2(n)*log2(n))的40分算法. 最后调T3的60分线段树调到考试结束也没过对拍. 期望分数:240 实际得分:200 就是因为这一个智障级的错误! 题解: T1 对于每个a[i],O(sqrt(a[i]))预处理出ta的所有约数,用map或hashmap存起来即可. T2 把商品和询问离线并按时间排序,枚举时间,是商品

2019.10.08考试报告

T1 用一个堆维护最小的是谁,每次加入一个值x时查询堆顶是否小于x,有则买top卖x,之后分为是不是反悔操作判断要不要把pop. 然而好像其他人都push两个来进行反悔操作. 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 #include<queue> 6 #define int long long 7 using namespace

2019.08.18考试报告

早上和skyh立flag:它在11机房虐场,我在10机房虐场.然而它考了rk1,我只拿到了rk3. T1 wxh学长讲的原题,13分钟打完正解+暴力+对拍拿到100分. T2正解复杂度$ O(n*log2(n)) $,我打的程序多了一个log,但还是可过的. 打完暴力后再打的正解,似乎很难实现? 调了1h左右,对怕出了错,发现算法需要二分找边界,所以直接先弃下去打T3了. T3码了一个dfs成功拿到10分... T2最后终于调过去啦,最后为了求稳进行了测试点分治最后WA了80. 在徐嘉一的帮助下

【2019.09.21】ICPC Latin American Regional-2017

提交地址:https://codeforces.com/gym/101889 解题数:6/13 题目: A: B: C: D: E: F: G: H: I: J: K: L: M: 感觉整场下来自己的贡献很低,A题看了题解是道比较综合的算法题,不只包含计算几何的内容,防ak的,暂不补.计算几何学了皮毛大概能做出中档题的时候就要收手去学其他模块的题了,加快学习进度.(zkq) 原文地址:https://www.cnblogs.com/ncu2019/p/11565382.html

2019模拟赛09场解题报告

目录 2019模拟赛09场解题报告 目录la~~ 题一:瞬间移动 题二:食物订购 题三:马蹄印 题四:景观美化 2019模拟赛09场解题报告 标签(空格分隔): 解题报告 Forever_chen 2019.8.20 目录la~~ 题一:瞬间移动 [题面] 有一天,暮光闪闪突然对如何将一个整数序列a1,a2,...,an排序为一个不下降序列起了兴趣.身为一只年轻独角兽的她,只能进行一种叫做"单元转换"(unit shift)的操作.换句话说,她可以将序列的最后一个元素移动到它的起始位置