大赛:2021省选 总结

文章目录

  • 概要
      • 想清楚再敲代码!!!
      • 仔细审题!!!
  • Day1
      • T1 卡牌游戏
      • T2 矩阵游戏
      • T3 图函数
  • day 2
      • T1 宝石
      • T2 滚榜
      • T3 支配

概要

想清楚再敲代码!!!

仔细审题!!!

第一次大赛
没有CE就算完成历史任务了
见到了赛场长什么样子
这次可贵之处应该是心态调整的很好(因为肯定选不上 );
基本发挥出了自己的水平吧(就是五个暴力+一个RE
以后考试也应该一样注意力应该在题上,不要想太多awa
预估得分(最好情况下)
t1:60
t2:30
t3:0
t4:25
t5:25
t6:30
tot=170(理想总是丰满的)
实际得分(本段写于出分后,来自洛谷数据):
(我觉得这个数据似乎有点水。。。)
t1:60
t2:30
t3:0
t4:25
t5:30
t6:5
赛后重写代码
t2:50(放四角有手就能写 +20)
t3:16(啊啊啊我打错了一个变量所以导致RE了!+16)
t5:60(阶乘算法显而易见+30)
各种原因损失得分
t1:0
t2:20(暴搜出了问题)
t3:15(老是RE)
t4:0
t5:30(没审题加先入为主)
t6:25(给出了一个伪题解思路,只混到了5分,还不如写暴力。。)
这些分要能加起来就是一个亿啊!(都说了理想总是丰满的)
此外,考场上还是有点没法进行深入思考
(回家敲支配的题解时想到的预处理思路比考场上好太多了,证明也变严谨了,发现了自己错误的原因,还发现了自己思路的bug,其实没费多少时间,而考场上是想到了一点思路就敲敲敲,蒙对了就蒙对了,写不下去就换思路重构。。。)
一方面,缺少这种限时抠较难题的机会,另一方面也是着急写代码
以后模拟难一些的题也要试试先想想正解!
如果你路过这里,可以跳过我前面的自我总结,去看看d2t3支配的题解awa
(分出来了之后应该还会再补充一些东西吧)
目前还是好弱好弱。。。11月noip时间不多了awa
目前计划:
1.好好学习
2.天天向上
2.好好刷题

Day1

这天还是有点小紧张

T1 卡牌游戏

在这里插入图片描述
在这里插入图片描述

naonao:枚举max二分min,直接乱搞切掉
这道题是我最先开始做的题
一开始我还以为是道水题。。。
最后发现我太天真了,还是用dp写了一个m^2的暴力
期望得分:60分
时间复杂度在众多暴力里似乎还算是比较好的了。。。
naonao大神的二分思路说起来其实我也不一定写不出来的
只是根本没有往二分答案的思路上去想;
对不起詹学长的集训啊。。。
说明会背板子绝不等于会了算法,我目前刷题量还是远远不够
此外,一个很大的问题是:我一开始想到dp之前,经历了在贪心,链表二分,pq之间来回的横跳
而这个横跳不是在验算纸上,而是在代码上!
敲到一般发现思路不对重新来过,浪费了大量时间;
第一题还是有点紧张
gg诚不欺我啊:想好了再敲代码!!!

T2 矩阵游戏

在这里插入图片描述
在这里插入图片描述

数学是不可能会的,暴搜天下第一!
m=2时用差分写成了1e6*n(这个是真的有手就行。。。)
剩下的就是暴搜了
但是我那个搜索出了些大问题。。。
剪枝剪来剪去把正解剪掉了。。。
再加上时间来不及了也没有调通
还不如不剪枝过前4点QWQ
暴搜n=3也过了啊!!!
期望得分:30分

T3 图函数

在这里插入图片描述
在这里插入图片描述
本题应该是本次做的最不好的一题了(废话,一分没得 );
时间不太够了也是一方面原因(你可真会找理由
本来打算反过来加边,加一次求一次,应该是m^2 * n^2(最最差的情况下,常数应该非常小,我觉得运气好能过11点的)
不知道为何在树上找联通的那个函数总是RE!!!
我现在看那个代码也不知道为啥。。。
最后,我把那个find函数的递归注释掉了。。。
这能得分就出大鬼了
期望得分:16+ 0

day 2

今天就完全放松了~ (我就是来观光的

T1 宝石

在这里插入图片描述
在这里插入图片描述
本题大脑一片空白。。。
坦坦荡荡写暴力,开开心心拿省一
这题甚至都不用LCA各种log的优化,因为反正求完暴力也得一步一步往上捡宝石
所以干脆直接一步一步爬到lca了
代码非常好写,正确性毋庸置疑。。。
复杂度:n*q
期望得分:25
半个小时直接敲完,对我来说算是做的比较成功了

T2 滚榜

在这里插入图片描述
在这里插入图片描述
本题做的很不好;
写的是暴搜所有可能性再map hash名次判重(有noi online那味了)
只能过5个点
期望得分:25
yjx大佬表示可以枚举全排列再判断,阶乘的时间复杂度可以过60
对啊!!!
这思路难想吗,不难啊
我这题做恶心了主要是因为我一开始审题审错了
以为是m分配的所有可能性
那样的话自然就是我那个写法
写完发现答案不对才发现是排名的可能情况
于是想都没想直接又加了个map加hash。。
被一开始的错误想法先入为主了
gg再次诚不欺我:看好题!!!

T3 支配

在这里插入图片描述
在这里插入图片描述

这题我想切
这题我想切
这题我想切!!
然而,最后还是暴力部分分。。。
时间复杂度:n^3+q*n
期望得分:30
我觉得我已经想到题解思路了
首先 ,我发现了一个很妙的性质:(其实也挺显然的)
若A支配B,那么支配A的所有点也一定支配B
也就是说支配具有传递性
所以对于询问新加的一条边A到B
首先肯定对A的支配集无影响
对于B来说,如果存在一个点C支配B,却不支配A,那么B的支配集就会改变(因为可以不从C走了)
反之就不会有任何改变
同时,当B支配集改变时,B支配的所有点(比如D)支配集也必然会改变
(假如B到D的路径上必须经过C,又因为C也支配B,那么显然B就不会支配D了,矛盾,所以新图C一定不会支配D)
反之,B不支配的点支配集不会改变
在这里插入图片描述

这个地方反之怎么感觉推不回来了呢。。。
比如上面这个例子,D不受B支配,但加new边后D的支配集发生了改变
这么算结果似乎会偏小
但是我用这个这个思路大数据对了好几十个输出结果都是一样的啊。。。
如果真的出来这样的问题大数据应该千差万别才对
很奇怪,我要再想一想(释然了,原来本来也切不掉

两个充要条件直接搞出了本题的题解啊!!!
B支配的点的个数可以预处理,单次询问只需要枚举B的支配集找是否支配A即可(就是找C),时间复杂度为q*n
能过20个点!
但是。。。
如何预处理支配集把我恶心到了
我一开始暴力写就是n^3
后来想建反图记忆化搜索,但输出不知为啥过个十个八个就会错一个。。。
再后来想到先把所有点支配集赋值为全部点,在图上递归遍历,同时全局标记记录一下当前路径经过了哪些点,遍历到一个点O就1-n遍历O的支配集取且运算(人话就是:只有既在当前路径上,又是O的支配集内的点才能继续当O的支配点)
这样递归遍历完每个点的支配集就应该是正确的了
一共就是把m条边都走遍,每次1-n取且运算,时间复杂度m*n
以上完全可以是一片贴在洛谷里的题解了!
但是,我考场上判重写成了按点判重,但其实每个点是可以多次遍历的!防止环的死循环应该用按边判重!!!
所以我大数据就差了很多,最后还是交的暴力30分的版本。。。
就这样,一行代码之差,AC与我失之交臂(枯了)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/318678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CometOJ-[Contest #10]鱼跃龙门【exgcd】

正题 题目链接:https://cometoj.com/problem/1479 题目大意 给出nnn求一个最小的x(x>0)x(x>0)x(x>0)满足 (∑i1xi)≡0(modn)\left(\sum_{i1}^xi\right)\equiv 0(\mod n)(i1∑x​i)≡0(modn) 1≤n≤1012,1≤T≤1001\leq n\leq 10^{12},1\leq T\leq 1001≤n≤1012,1≤…

牛客题霸 [ 最小的K个数] C++题解/答案

牛客题霸 [ 最小的K个数] C题解/答案 题目描述 输入n个整数&#xff0c;找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字&#xff0c;则最小的4个数字是1,2,3,4。 题解&#xff1a; 如果有n<k的就输出空vector 然后对input进行排序&#xff0c;取前k个值 代码&…

codeforces1559 D2. Mocha and Diana (Hard Version)(并查集+启发式合并+随机化)

D2. Mocha and Diana (Hard Version) RunningBeef题解 首先将图1的点与1号点所在的连通块相连&#xff0c;图2类似。 然后就是在图1和图2中选择没有和1号点在同一个连通块的点&#xff0c;能连边就连。 #include<bits/stdc.h> using namespace std; using lllong long…

ybtoj祭坛

文章目录冲啊&#xff01;&#xff08;100题祭&#xff09;125题祭140题祭首次登顶&唯一AC150题祭160题祭170题祭冲啊&#xff01;&#xff08;100题祭&#xff09; 2021.4.11 刚好100道 其实是前几天到的&#xff08;忘了是哪一道了。。。&#xff09; 今天写省选题解开了…

牛客题霸 [ 判断一棵二叉树是否为搜索二叉树和完全二叉树] C++题解/答案

牛客题霸 [ 判断一棵二叉树是否为搜索二叉树和完全二叉树] C题解/答案 题解&#xff1a; 搜索二叉树满足以下性质&#xff1a; 1.非空左子树的所以键值小于其根节点的键值 2.非空右子树的所有键值大于其根节点的键值 3.左&#xff0c;右子树都是二叉搜索树 完全二叉树&#x…

CF573D-Bear and Cavalry【动态dp】

正题 题目链接:https://www.luogu.com.cn/problem/CF573D 题目大意 给出nnn个人nnn匹马&#xff0c;每个人/马有能力值wiw_iwi​/hih_ihi​。 第iii个人开始对应第iii匹马&#xff0c;每个人不能选择对应的马&#xff0c;给每个人分配一个马后求最大的∑wihj\sum w_i\times …

C++ __gnu_pbds(hash,可并堆,平衡树)

pb_ds 是GNU-C自带的一个C的扩展库&#xff0c;其中实现了很多数据结构&#xff0c;比STL里面的功能更强大 #include<ext/pb_ds/assoc_container.hpp> #include<ext/pb_ds/tree_policy.hpp> // 用tree #include<ext/pb_ds/hash_policy.hpp> // 用hash #…

理解至上:二叉堆与优先队列详细用法

文章目录二叉堆概述插入代码访问代码完整代码优先队列&#xff1a;priority_queue基本用法小根堆的声明&#xff1a;结构体注意Thanks for reading&#xff01;二叉堆 概述 为什么不用pq呢 算比较简单的数据结构了 它可以用log的时间复杂度插入元素和访问&#xff08;取出&am…

AT5661-[AGC040C]Neither AB nor BA【模型转换】

正题 题目链接:https://www.luogu.com.cn/problem/AT5661 题目大意 一个包含A,B,CA,B,CA,B,C的序列&#xff0c;每次可以选择相邻的两个除了ABABAB和BABABA的删去。 求有多少个长度为NNN的序列可以删完。 1≤N≤1071\leq N\leq 10^71≤N≤107 解题思路 因为每次是删除一个奇…

牛客题霸 [矩阵的最小路径和] C++题解/答案

牛客题霸 [矩阵的最小路径和] C题解/答案、 题目描述 给定一个 n * m 的矩阵 a&#xff0c;从左上角开始每次只能向右或者向下走&#xff0c;最后到达右下角的位置&#xff0c;路径上所有的数字累加起来就是路径和&#xff0c;输出所有的路径中最小的路径和。 题解&#xff…

2021牛客暑期多校训练营7 B-xay loves monotonicity(线段树+不降子序列)

P4198 楼房重建 线段树维护以某点为开头的最长不下降子序列 使用下面calc函数能够计算线段树u维护的区间中&#xff0c;以x为开头最长不下降子序列的个数。 calc需要维护区间最值。 template<typename T> int calc(int u,T x) {if(tree[u].ltree[u].r) return tree[u]…

不止代码:最长上升序列

文章目录题目描述样例解析仔细审题&#xff01;&#xff01;&#xff01;&#xff01;代码题目描述 给定一个序列 求出它的单调上升序列长度并输出这个序列 样例 in: 13 7 9 16 38 24 37 18 44 19 21 22 63 15 out&#xff1a; max8 7 9 16 18 19 21 22 63解析 这题我一开始…

AT2305-[AGC010D]Decrementing【博弈论】

正题 题目链接:https://www.luogu.com.cn/problem/AT2305 题目大意 nnn个数字两个人进行博弈&#xff0c;每个人的操作为 选择一个大于1的数字减一之后所有数字除以所有数字的gcdgcdgcd 无法操作者败&#xff0c;保证初始所有数字互质 求是否先手必胜 1≤n≤1051\leq n\leq…

牛客题霸 [删除链表的倒数第n个节点] C++题解/答案

牛客题霸 [删除链表的倒数第n个节点] C题解/答案 题目描述 给定一个链表&#xff0c;删除链表的倒数第n个节点并返回链表的头指针 例如&#xff0c; 给出的链表为:1->2->3->4->5, n 2. 删除了链表的倒数第n个节点之后,链表变为1->2->3->5. 备注&#xf…

2021牛客暑期多校训练营7 K-xay loves sequence(主席树+二分)

K-xay loves sequence 首先不考虑模kkk的限制&#xff0c;容易想到对原数组做一个差分得到diai−ai−1d_ia_i-a_{i-1}di​ai​−ai−1​&#xff0c;显然对于∀1≤i≤nai0\forall_{1\leq i\leq n} a_i0∀1≤i≤n​ai​0 等价于∀1≤i≤ndi0\forall_{1\leq i\leq n} d_i0∀1≤i…

ASP.NET Core 搭配 Nginx 的真实IP问题

一.前言Nginx&#xff08;Engine X&#xff09;是一个高性能HTTP和反向代理服务&#xff0c;是由俄罗斯人伊戈尔赛索耶夫为访问量第二的Rambler.ru站点&#xff08;俄文&#xff1a;Рамблер&#xff09;开发的&#xff0c;第一个公开版本0.1.0发布于2004年10月4日。 如果…

不止代码:保留道路(ybtoj 最小生成树)

文章目录题目描述解析代码thanks for reading!题目描述 解析 其实就是修建道路 我一开始只能想到枚举g去跑最小生成树 是m^2的算法&#xff08;50pts&#xff09; 但是其实每次加入的边只有一条 而且之前都不在最小生成树上的边以后也肯定不会在 所以可以建一个新的边的集合存…

P7515-[省选联考 2021A卷]矩阵游戏【差分约束】

正题 题目链接:https://www.luogu.com.cn/problem/P7515 题目大意 有一个n∗mn*mn∗m的矩形AAA&#xff0c;然后给出一个(n−1)∗(m−1)(n-1)*(m-1)(n−1)∗(m−1)的矩形BBB满足 Bi,jAi,jAi1,jAi,j1Ai1,j1B_{i,j}A_{i,j}A_{i1,j}A_{i,j1}A_{i1,j1}Bi,j​Ai,j​Ai1,j​Ai,j1​…

牛客题霸 [链表中环的入口节点] C++题解/答案

牛客题霸 [链表中环的入口节点] C题解/答案 题目描述 对于一个给定的链表&#xff0c;返回环的入口节点&#xff0c;如果没有环&#xff0c;返回null 拓展&#xff1a; 你能给出不利用额外空间的解法么&#xff1f; 题解&#xff1a; 判断环有个很巧妙的方法&#xff0c;之…

2021牛客暑期多校训练营8 F-Robots(bitset优化dp)

F-Robots 第一种第二种机器人直接O(n)O(n)O(n)判断即可。 第三种机器人暴力dp&#xff0c;用bitset优化。 bitset<250005> b[i][j] 表示从(i,j)(i,j)(i,j)能到达哪些点&#xff0c;第三种机器人向右向下转移即可。 状态压缩&#xff01; 时间复杂度O(qnn4w)O(qn\frac{…