比赛
文章平均质量分 57
愚末语
行于末路,静听语声。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU多校第二场 1011 DOS Card
线段树原创 2022-07-22 12:47:21 · 462 阅读 · 0 评论 -
F - Lottery
传送门:ATC正文:此题是一道很妙的dp题。总所周知,动态规划有两大难点,第一是想到这是一道dp题,第二是想到正确的状态转移方程首先想聊聊怎么想到此题可以用dp来解:我们在想题目的时候,可以想往最暴力的方式去想,想想这题可不可以通过枚举求得正确答案,如果可以,那么此题就可能可以用dp求解,然后再想想不同项之间存不存在状态转移关系(一般想不出来),如果存在就是dp了。回到此题,可以明显发现此题可以通过枚举状态来得到正确答案,所以我们的目标就变成找到状态转移式子。题目给出三个变量 : n原创 2022-03-13 18:14:34 · 745 阅读 · 3 评论 -
E - Edge Deletion
传送门:ATC正文:初解此题,先用弗洛伊德跑了一遍最短路,然后再判断两点之间的距离C是否大于两点之间的最短路,如果大于,则这条边一定可以remove。但是,我不知道如何解决距离C正好等于两点之间最短路的情况。此题妙就妙在判断等于的情况,我们可以把等于的情况分成两个部分:1,该边正好是两点之间的唯一最短路,如果是这种情况,则该边不能删。2,该边不是唯一最短路,即存在另外一条链,该链顶点数>=3,则该边可以删除。那么我们该如何判断这条边是属于情况1还是情况2呢?我们可以通过..原创 2022-03-13 13:04:03 · 655 阅读 · 0 评论 -
AtCoder Beginner Contest 217 F Make Pair
传送门:F算法核心:区间dp+组合数。正文:题目的意思如下:一共有2*n个人,每次选择相邻的关系好的两个人,将他们删去,进行该操作n次,也就是将所有人删去,问方案数是多少。首先,在看到这道题的时候,应该有一种感觉,这道题应该是dp。我们先将A与B关系好转化为A与B之间有一条边。对于dp题,我们往往考虑单一元素对整体的影响,也就是一条边对答案的影响。那么情况就分两种:一种是A,B在边界:一种是A在内部,B在边界:这时候有人会提出A,B都在内部的情况。实际..原创 2021-09-05 19:49:39 · 421 阅读 · 2 评论 -
牛客第九场 E题 可持续化线段树+dfs序+树上倍增
#include<bits/stdc++.h>using namespace std;#define deb cout<<"find::"<<endlstruct AC { int ls, rs, num;};int main() { ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; vector<vector<int>>v(n + 1, vect.原创 2021-08-18 21:08:27 · 175 阅读 · 0 评论 -
杭电多校第二场 I love max and multiply
题目如下:思路:这道题最暴力的写法是枚举,记录每个i andj的值,然后在每个位置上存最大的。最后从n-1开始跑到0每次加上前面最大值即可。但是显然会T,有没有一种更快的方法呢?想到更快的解法关键点就是处理。我们先给出一个结论:任意两个数and后的值一定比它们都小。所以我们可以先确定k,再来分析 i 和 j 。假设k的二进制是,那么 i 和 j 的二进制一定是这种形式:,其中表示可以是0 也可以是 1 。所以这里提出一个想法:我可以用中的最大值来表示,从而使...原创 2021-07-24 22:58:56 · 319 阅读 · 1 评论 -
杭电多校J 莫队
距离上次写莫队已经过去半年了,莫队是什么东西都快忘了,而今天杭电多校的J题考了莫队的运用。所以,裂开。回到正文。莫队在我看来是是一个通过分块和排序,使得在离线询问的前提下,能过减少很多不必要运算的过程。就如此题,我们要先对横坐标分块排序,这样就可以使得询问的区间在一个小范围内波动。struct AC{ int x1, y1, x2, y2, idx; bool friend operator<(AC m1, AC m2) { if (m1.x1 / k != m2.x1 / k原创 2021-07-20 21:04:03 · 273 阅读 · 0 评论 -
Compute‘s Wallpaper 一个有趣的dp题
传送门:ICompute’s Wallpaper思路:这道题很容易就可以看出是一道dp题,如果是dp,那么最关键的是推出其状态转移方程。题目问出现至少两张美女图的方案有多少种(出题人一看就是正经人 ),那么我们就可以从1 到 n-1 枚举起始位置,并且第二次出现的位置一定在i+s[i] 之后(包括本身),那么我们问题就应该转变为如何确定i+s[i] 之后的所有方案数。如果我们用sum[i] 表示第i 位后有多少种可能的情况,那么决定sum[i] 的是 sum[i-1] 和当前位对其的影响,如果当前美原创 2021-04-21 13:31:47 · 183 阅读 · 0 评论 -
Connect3 位标记+模拟
传送门:Connect3初解此题就感觉是模拟,但算了算最暴力的时间复杂度:每次有4种可能的位置,最大走16次,则最大运算4^16 显然爆炸。这样像显然有点bug,先不考虑黑白交替,就单单考虑每个格子的可能颜色,最大也只有2^16。所以4^16 明显是错误错误。再考虑到每过一次都要进行颜色交换,最大的预算为C(16,32) (这还是没有考虑不可行解)如果再过程种剪枝,时间复杂度完全在可行范围内。但是怎么存储状态呢?位标记!关于位标记我之前研究过,但做题的时候没有想起来,很遗憾。综上:此题是模拟+原创 2021-03-29 15:29:12 · 212 阅读 · 0 评论 -
Slow Leak 题解
传送门:Slow Leak前言:此题为牛客ICPC模拟赛上的 I 题,据说出自欧洲某地区的选拔赛。比赛的时候因为时间不够了就没写出来。就算有时间也不会 看了题解之后觉得很妙,看不懂题解,认为题解在教我仙术所以就单独把此题拿出来聊聊。题目如下:睡前聊一聊:初看此题,我一度认为这就是一道求单源最短路径的题,直接上SPFA+记忆步数+特判就可以了,因为那时距离比赛结束只有25min了,所以就只能死马当活马医,A了血赚,WA了不亏。蒟蒻永远充满幻想,于是总是受到社会的毒打 不出意外,...原创 2021-03-23 18:42:50 · 370 阅读 · 1 评论 -
吉首大学第十届“新星杯”大学生程序设计大赛 A题题解
这是一场很毒瘤的比赛。鲁大师在一个星期前通知我们去打这场比赛,说名次高的有奖品,还说去年他们去参加这场比赛拿了前几名拿了个U盘…(疯狂暗示比赛很简单比赛很简单 )单纯的我真的信了赛后得知这场比赛是一场cf1800水平的比赛心里一万个TMD这次比赛前两个小时,凭借我单身18年的手速,AC了5道题,排名最高追到了20名,那时候我觉得这把有了,但没想到之后的三个小时疯狂吃T,一题都没过…比赛结束后感觉人被掏空了。这次比赛的题我都会写题解,但因为我马上就要期末考试了,所以每天只会写一篇题解。下面看A题原创 2020-12-28 16:47:04 · 444 阅读 · 0 评论
分享