2021.8.17考试总结[NOIP42]】的更多相关文章

$\huge{取模不能比大小!}$ $\huge{取模不能比大小!}$ $\huge{取模不能比大小!}$ 有了打地鼠的前车之鉴,我深信树规板子是可以出现在联赛题里的. 所以T1十分钟码完直接溜了,后两道肉眼可见的不可做,最后半小时百无聊赖地胡乱打表,心想有二百差不多了,于是T1光速保龄.哈哈 赛后十分钟直接$rk3$超爽的好吗(哭 T1 卷 就像上文所说的.$DP$时带个对数加和就行. $code:$ 1 #include<bits/stdc++.h> 2 #define int long…
有的考试表面上自称NOIP模拟,背地里却是绍兴一中NOI模拟 吓得我直接文件打错 T1 Skip 设状态$f_i$为最后一次选$i$在$i$时的最优解.有$f_i=max_{j<i}[f_j+a_i-\frac{(j-i)\times (j-i-1)}{2}]$ 设$j<k$,对$i$来说,$k$优于$j$,当且仅当$2\times i>\frac{2\times(f_j-f_k)+k^2+k-j^2-j}{k-j}$ 斜率优化,$CDQ$分治,先按$a$排序,分治中按$id$排序满足限…
T1 星际旅行 其实就是求两条只走一遍的边的方案数. 考场上第一眼就感觉不可做,后来画了几个图,发现好像只要两个边是相连的就可以只走一遍,居然还真拿了30.. 其实是一道欧拉路的题,把每条非自环的边看作两条平行的边,问题就转变为了删掉两条边,使图变为欧拉图. 欧拉图存在的充要条件是图联通,且只有0或2个点的出度为奇数.因为把边一分为二,所以初始出度都为偶. 所以删两条相连的边是其中一种情况,30pts到手. 另外考虑自环,由于自环不计入出度,所以可以删掉两个自环或一个自环和任意一边. 注意在计算…
6.17考试总结(NOIP模拟8) 背景 考得不咋样,有一个非常遗憾的地方:最后一题少取膜了,\(100pts->40pts\),改了这么多年的错还是头一回看见以下的情景... T1星际旅行 前言 考试的时候用一个自己感觉非常妙的思路骗了20pts,因为是双向边,所以分成两个边存,边的tot从2开始,这样可以保证没一组边的序号通过取\(xor\)可以相互转化. 然后对于每一个边记录经过次数,并且记一下经过次数为1和2的边的总数,然后对于dfs时转移的就是状压的每组边的状态,当然也可以拿Hash存…
2021.07.17 题解 CF1385E Directing Edges(拓扑排序) CF1385E Directing Edges - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题意: 给定一个由有向边与无向边组成的图,现在需要你把所有的无向边变成有向边,使得形成的图中没有环. 如果可以做到请输出该图,否则直接输出"NO". 注意多组询问. 分析: 对于一个有向无环图,一条边,拓扑序小的一端指向拓扑序大的一端,因此确定无向边的方向. 代码如下: #include…
2021.07.17 P4170 染色(区间DP) [P4170 CQOI2007]涂色 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.目标状态可以由哪些状态转移过来. 题目: 每次可以改变一段连续区间的颜色,问最少需要几次可以吧颜色改为目标区间颜色. 分析: 在一段连续区间(l,r)内,如果l,r处颜色相同,则选择(l+1,r)以及(l,r-1)这两个区间内修改次数少的,如果不同,枚举区间内断点,将两个小区间内次数相加. 代码如下: #include<bits/…
2021.07.17 P3177 树上染色(树形DP) [P3177 HAOI2015]树上染色 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.dp思想是需要什么,维护什么. 2.通过具体的状态推出未知状态的解法. 题意: 一棵有n个点的树,将其中k个点染为黑色,其余点为白色,求任意一对白白两点之间的距离和与任意一对黑黑两点之间的距离. 分析: dp思想是需要什么,维护什么.我们需要求距离和,我们就维护距离和. 在已经确定哪些点是黑点是,对于一条边,它对答案的贡献…
T1 宝藏 发现每个数成为中位数的长度是关于权值单调的.线段树二分判断是否合法,单调指针扫即可. 考场上写了二分,平添\(\log\). \(code:\) T1 #include<bits/stdc++.h> using namespace std; namespace IO{ typedef long long LL; LL read(){ LL x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-') f=-…
T1 F 缩点缩成个$DAG$,然后根据每个点的度数计算期望值 1 #include<cstdio> 2 #include<cstring> 3 #include<vector> 4 #include<iostream> 5 #include<algorithm> 6 #define int long long 7 using namespace std; 8 namespace AE86{ 9 #define fuck cout<<…
T1 星际旅行 仔细一看,发现像一个欧拉路(简称一笔画). 满足"可以一笔画"的条件是: 1.所有点都有偶数条连边; 2.有偶数个点连奇数条边; 满足以上两个条件的任意一个即可一笔画. 然而还要保证图的联通性.就是说如果有一个图,有一些点是孤立的,按照题意也是可行的.但是如果图像是两个不同的区域,每个区域的点互不连 这种情况就是假的,直接输出零. 因为双向边,我们不妨把每条边看作有两条.那么满足题目情况有三种: 1.去掉任意两个自环; 2.去掉一个自环和任意一条边; 3.去掉连在一个点…