自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(114)
  • 收藏
  • 关注

原创 2020.icpc 南京

Evil Coordinate 构造+模拟大意:给定长度为 n 的由 “LRUD” 组成的字符串,以及一个障碍点坐标,问任意排列字符串是否能避开障碍点,若可以避开,输出排列后的字符串。思路:分类讨论的写法:大致构造角度,对于终点在障碍点的没办法,对于终点不在障碍点的若L,R 均存在,若不能走到与障碍点x的坐标相等,那么显然可以先把L,R 输出完,然后对于U,D随便输出就行,对于L,R 恰好走到与 x 的坐标相等,我们可以随便拿出一个 L或 R ,然后类比于上面,最后再把拿出来的那个字符输出就行了,.

2021-12-13 21:17:28 331

原创 Codeforces Round #736 (Div. 2) D

Integers Have Friends 思维、双指针、st表大意:给定一个长度为 n 的序列,若存在一段连续的子序列 [l,r] 满足almod  m=al+1mod  m=......=armod  ma_l \mod m = a_{l+1} \mod m = ...... =a_r \mod mal​modm=al+1​modm=......=ar​modm (m>=2)则称该子序列为 友好子序列。求满足条件的最长友好子序列长度。思路:对于 a%m=b%m 通过移项,其实也就是 (

2021-12-06 17:19:45 268

原创 2020 icpc 济南

Matrix Equation 高斯消元大意:给定 01 矩阵 A,C求满足 A×B=B⊙CA\times B=B\odot CA×B=B⊙C 01 矩阵 B 的个数。×\times× : Di,j=∑k=1nAi,kBk,jD_{i,j}=\sum_{k=1}^n{A_{i,k}B_{k,j}}Di,j​=∑k=1n​Ai,k​Bk,j​⊙\odot⊙: Di,j=Ai,jBi,jD_{i,j}=A_{i,j}B_{i,j}Di,j​=Ai,j​Bi,j​思路:通过观察上述式子我们发现Di.

2021-12-02 20:49:37 315

原创 Codeforces Round #757 (Div. 2) D1

大意:给定长度为 n 的序列 a, 序列中的最大值<=5e6 ,求对于该序列任意排序所得∑ingcd(a1,a2...ai)\sum{_i^n gcd(a_1,a_2...a_i)}∑in​gcd(a1​,a2​...ai​)的最大值。思路:令 fif_ifi​ 表示以数字 i 为 开头的 序列 a 的最大值想想对于 fjf_jfj​ 怎么从 fif_ifi​ 进行转移,我们想到只有当 j 为 i 的倍数是才会使得结果更优,因为如果不是 i 的倍数,那么开始的几个 gcd 是比 i 小的。所以我

2021-11-30 09:04:50 620

原创 2020 icpc 沈阳

​ Journey to Un’Goro 思维+dfs大意:有个只包含‘r,b’的长度为 n 的字符串,对于区间 [l,r] 若区间内 ‘r’ 的个数是奇数,那么称这个区间为好的区间,现在需要构造字符串,使得它的好的区间是所有字符串中最多的,输出’'好的区间‘ ’的个数,以及按字典序从小到大输出所有这样的字符串,若超过100个只需要输出100个。思路:对于区间问题,尤其是区间计数类问题,直接做不好做的话,我们不妨尝试转化成前缀问题。记 sumisum_isumi​ 为 字符‘r’ 的个数的前缀和。那.

2021-11-21 21:48:49 615

原创 牛客挑战赛54 C

小䓤的一个数字 思维大意:给定一个长度为 n (n<=3000)的01字符串s,和整数序列 a , 两种操作:操作1:每次将字符串中一个字符0变1,1变0.花费为aia_iai​操作2:整体向右平移1位,最左边补字符0, 花费为 b求将全0的字符串变成 s 的最小花费思路:如果不考虑操作2,显然是很简单的,直接算就行了。有了操作2,假设用了 k次操作2,那么对于某一个位置 i ,我们可以把 [i-k,i] 的任意一个位置变成 1,通过不超过k次操作2变成最终的s,也就是区间最小值问题 。.

2021-11-20 16:15:31 359

原创 2020 icpc 上海

Mine Sweeper II 思维大意:类似扫雷,给两个n*m 大小的矩阵A,B,‘X’表示雷,‘.’代表该位置是数字,数字的值是周围八个格子的雷的数量,问是否能不超过 n *m/2(下取整)次操作,使B的数字之和等于 A。输出修改后的矩阵,如果不能输出-1思路:看到 n*m/2 次操作,下意识感觉就两种情况。显然对于 B 和 A 不一样的个数小于操作限制的话,我们可以把 B 修改成和 A 一样输出就好了。对于 不一样的个数大于的情况,我们从反方向思考,那么一样的的个数一定是小于操作限制的。然后..

2021-11-16 15:56:54 556

原创 牛客练习赛91 C D

魔法学院(hard version) 并查集大意:给定一个字符串,有 m 个魔法,每个魔法可以将区间[li,ri][l_i,r_i][li​,ri​]的一个字符修改成cic_ici​,每个魔法可以使用无限次。对于每个字符,它的价值就是对应的ASCII码,求最终字符串价值的最大值。思路:我又又又又又…读错题了。看成了每个魔法把整个区间[li,ri][l_i,r_i][li​,ri​] 一下子全部修改成cic_ici​,然后想了个从小到大贪心,线段树维护的写法把B过了…然后就过不了 C,吐了。正解:..

2021-11-13 22:45:44 807

原创 Atcoder ABC 225

题目链接大意:给定 n 个点,坐标(xi,yi)(x_i,y_i)(xi​,yi​) 每个点和(xi−1,yi)(x_i-1,y_i)(xi​−1,yi​) (xi,yi−1)(x_i,y_i-1)(xi​,yi​−1) 相连构成 ‘7’ ,一个‘7’能被看到:(xi−1,yi)(x_i-1,y_i)(xi​−1,yi​) (xi,yi−1)(x_i,y_i-1)(xi​,yi​−1)和原点连接内部不包含其他的’7’。现在可以去掉任意多个‘7’,问最多多少个‘7’可以被看见。思路:我们可以把(xi−.

2021-11-03 20:11:15 202

原创 2021 ccpc 网络赛重赛

Monopoly 思维、二分大意:有个长度为 n的序列 组成的环,序列有正有负,当走到位置 i 时,得分加上aia_iai​ ,m次询问,每次输入有个得分 x ,问最少进行多少步得 x 分,若不能输出-1。思路:记走一圈的得分为 s, 前缀得分preipre_iprei​ 对于 x ,若能获得得分 x,那么显然 x可以表示成 x=k∗s+preix=k*s+pre_ix=k∗s+prei​ ,对于此类式子往往和取模相联系,等式两边%s ,x%s=preipre_iprei​%s(注意当s=0时,是没.

2021-11-03 19:38:06 185

原创 acwing 340通信线路

题目链接:通信线路大意:有 N 座基站,P条双向电缆连接基站构成无向图,电缆的权重为 LiL_iLi​,对于从 1-N 的路径,可以最多使 k 条电缆的权重变为0,剩余该路径的权重最大值最为此条路径的花费,求花费的最小值。0≤K<N≤1000,1≤P≤10000,1≤Li≤10000000≤K<N≤1000,1≤P≤10000,1≤L_i≤10000000≤K<N≤1000,1≤P≤10000,1≤Li​≤1000000思路:我们注意到最终求的剩余电缆的最大值最小,不妨想想是否能二分

2021-10-30 17:27:43 110

原创 牛客练习赛90 C、D

盾与战锤 思维大意:有一个护盾,每 k 秒刷新一次,能吸收 S 的伤害,给定一个长度为 n 的序列,对于序列的每个数造成伤害需要1秒,当护盾刷新时,先刷新护盾,然后造成伤害,并且护盾不会继承上次未打破的,对于 1<=k<=n 的每个 k ,确定一个子序列,使得伤害最大,输出最大伤害值。思路:对于任意一个 k ,显然只有当破开盾才会造成伤害,假设破开 x 次盾,盾吸收的伤害就是x*s 是固定的,此时造成伤害最大就是最优的,所以直接从大到小排序,选最大的就行了。代码如下:#include.

2021-10-30 10:10:31 255 2

原创 2021RoboCom机器人开发者大赛复赛解题

冒险者分队 思维大意:给定初始三个属性 a1,b1,c1a_1,b_1,c_1a1​,b1​,c1​,以及目标三个属性 a2,b2,c2a_2,b_2,c_2a2​,b2​,c2​。 每次可以选择其中一个属性值+40,另外两个-20,或者其中两个+20,另外一个-40。问最少经过多少次操作可以变成目标属性值。思路:首先我们观察到,无论哪种操作,变化值都是20的倍数。所以差值不是20的倍数的一定不行,然后每次操作不改变差值总和,并且最终差值的总和为0,所以在操作过程中差值总和始终为0。在上面的基础上,.

2021-10-27 20:10:39 1155 1

原创 2020年湖南省大学生计算机程序设计竞赛

String Commutativity kmp 求最小循环节大意:给定 n 字符串s1,s2......sns_1,s_2......s_ns1​,s2​......sn​ 问多少对 i,j 满足 i<j并且 si+sj=sj+sis_i+s_j=s_j+s_isi​+sj​=sj​+si​。n<=1e5,所有字符串的总长度不超过 5e6。思路:首先得从 si+sj=sj+sis_i+s_j=s_j+s_isi​+sj​=sj​+si​ 中分析出si和sjs_i和s_jsi​和s..

2021-10-27 14:37:48 371

原创 2021.icpc网络赛第二场

Leaking Roof 签到大意:给定 n*n 格子,每个格子的水量为m, 当前格子的水会向周围有公共边的,且高度严格大于的格子等量流动,当且仅当高度为0时水会流出,求最终每个格子流出的水量。n<=500思路:高度最高的格子只会往别的格子流水,直接按高度从小到大排序,模拟就好了。代码如下:#include <bits/stdc++.h>using namespace std;const int N=510;typedef pair<int,int> PI..

2021-10-20 17:36:27 309

原创 牛客挑战赛 53 C题

奇奇怪怪的魔法阵 状压dp大意:有 n 个点,编号0-n-1, n<=26。m条边。即某个点集中任意点之间不存在边,则称这个点集为“独立集”,求出虽有点集的子集中“独立集”的个数。空集也算“优秀点集”思路:看到 n 最大只有 26。又是计数类问题,比较裸的状态压缩dp。我们用二进制位 为 1表示选这个点,0表示不选。用 mskimsk_imski​ 表示所有和 i 有边的点在状态转移过程中,对于状态 x 中的任意一点 i,显然可以将 x 的所有独立集分成两部分含 i 和不含 i,对于不含 .

2021-10-19 19:44:32 97

原创 AcWing 903. 昂贵的聘礼

昂贵的聘礼大意:给定一个物品,以及购买它的价值,可以直接购买,或者可以通过其他提前获得其他物品,然后花较少的金币进行换购,给定换购的关系,并且每个物品有一个等级,购买的一系列物品等级差值的最大值不能超过 M。求最终能购买到这个物品所花费的最小价值。思路:对于问题一步一步分析,我们先不考虑等级的限制,对于任意一个物品y,假设它可以通过物品 x 再加上一些金币w换购,那么我们可以从 x 向 y连一条有向边,权重为 w,并且对于x,y 也可以不需要换购,直接够买,所以我们可以建立一个虚拟源点,连有向边,权重就

2021-10-18 20:24:33 94

原创 Codeforces Round #748 (Div. 3) E、D1、D2

Gardener and Tree bfs大意:给定一棵无根树,进行 k 次操作,每次操作可以删除所有的叶子节点,问最终剩多少个节点。思路:首先叶子节点的度数是为 1 的,每次删除叶子节点,下次删除的是和叶子节点相连的点,我们直接维护度数,每次把度数为 1 的点入队进行bfs 就行了。代码如下:#include <bits/stdc++.h>using namespace std;typedef long long LL;typedef pair<int,int>

2021-10-17 12:24:20 122

原创 AcWing 920. 最优乘车

最优乘车大意:有若干条公车线路,以及若干站牌,公交路线是单程的,求从某点出发到达目的地的最少换乘次数。思路:图论问题难的地方在于建图,建图的方式正确了剩下的大部分都是模板类的内容。这里我们要求的是最少换乘次数,如果我们能建图的时候想办法将换乘次数体现在边权中,剩下的就是个最短路模型。我们看这样一条路线信息, 1->3->5->7我们可以在1处通过坐一次车到3,5,7,从 3 坐一次车到 5,7…我们可以在从1 向3,5,7连一条边权为 1的有向图,以这样的方式建图,跑一遍最短路求的

2021-10-15 16:52:13 117

原创 AcWing 最小花费

最小花费大意:有 n 个人 ,某些人之间可以相互转账,但是需要一定的扣除百分之几的手续费,问 A最少要拿多少钱可以到 B 手中100。思路:假设最初的钱是 x,手续费为w,变成 x*(1-w) =100,若要 x 最少,那么也就是(1−wi)(1-w_i)(1−wi​)的乘积最大。这里我们需要知道的是,dijkstra实际上是基于贪心求的最短路,所以相应的我们也可以求最长路。然后这里是乘积,我们可以进行类比,因为有 log(xyz)=logx+logy+logzlog(xyz)=logx+logy+l

2021-10-15 00:56:44 96

原创 2021机器人编程大赛初赛

疫情防控大意:题意概括以下就是两种操作(1)删除某个点(2)查询两个点是否连通思路:我们直接去模拟的话,显然时间复杂度不太行,因为如果我们每次都去暴力查询某两个点是否连通的话复杂度太高了。因为是无向图,我们可以考虑用并查集快速判断两点是否连通,但是并查集并不支持“删点操作”,所以我们可以离线操作,先把所有要删的点都删除(即在用并查集连图的时候不连这些点),然后倒叙操作,每次“加点”就行了。代码如下:#include <bits/stdc++.h>using namespace st.

2021-10-13 21:34:54 885

原创 Educational Codeforces Round 115 (Rated for Div. 2) D. Training Session

传送门:Training Session大意:给定 n 个本书,每本书有一个主题和难度,不存在任意两本书完全相同。问选择三本书满足难度完全不同或者主题完全不同的方案数。思路:对于此类问题,要么正着算直接求方案。或者先求总的方案,然后减去不合法的方案,两种角度总会有种简单的,两个角度都要试着去思考一下。这题我们先求总的:很容易求 n(n−1)(n−2)/6n(n-1)(n-2)/6n(n−1)(n−2)/6比较复杂的就是怎么求不合法的。我们可以先列出所有不合法情况,然后排除那些不可能出现的情况:我们

2021-10-12 22:41:39 110

原创 Codeforces Round #747 (Div. 2) D. The Number of Imposters

传送门:The Number of Imposters大意:n 个人 ,每个人要么是好人,要么是坏人,好人只说真话,坏人只说假话。给定 一些关系,即a b c 代表 a说b的身份是 c。现要确定他们的什么,在不矛盾的前提下,问最多可以有多少坏人。输出坏人的人数,若关系存在矛盾输出-1。思路:a 说 b 的身份是 c ,我们坏人记作c=0,好人记作c=1。当 c=0 时,即 a说b 是坏人,当 a是好人是,那么 b 就是坏人,当a 是坏人时,b实际上是好人。二人身份相异。当 c=1 时,a说 b 是好人

2021-10-12 20:24:49 223

原创 2018-2019 ACM-ICPC, Asia Nanjing Regional Contest

Adrien and Austin 博弈、思维大意:给定 n 个石子,下标1-n。两人轮流取石子。最少1个最多k个,并且取的石子下标连续,不能操作的判输思路:当 k!=1 时,显然先手可以去中间一个或两个使得石子分成对称的两段,然后一直做和后手一样的操作就行了。先手必胜。当 k=1 时每次只能取一个,分就讨论就行了。注意这题比较坑的一个地方是n是可以等于0的。Country Meow 模拟退火大意:三维里有n个点,找一个最小的球将所有点覆盖。思路:方法1:解析几何最优解问题,直接上模.

2021-10-10 11:43:41 257

原创 2020-2021 ICPC Southeastern European Regional Programming Contest

Reverse Game 博弈、思维大意:给定一个01字符串S,两人轮流操作,每次可以选择“10”、“110”、“100”、“1010”进行翻转。不能操作的判输。问谁会获胜?思路:题目给的东西都不是随便给的,观察上面给出的几个字符串我们就会发现,最终不能继续进行操作的时候一定是前半部分全部是0后半部分全部是1。因为一旦1后面有0,那么必然可以翻转将0往前面翻,直到翻到前面不再有1为止。每次只翻转10的次数是把每个1后面0的个数加起来。然后我们观察发现,每次翻转,最少少1个、最多少2个“10”。“10.

2021-10-05 14:52:10 455

原创 Codeforces Round #746 (Div. 2)

C Bakry and Partitioning 思维、异或大意:给定一棵树,问时候能通过最少删除一条边,最多删除k-1 条边将其划分成若干个子树,每个子树的异或和相等。思路:首先有个结论,就是如果能划分成若干段异或和相等的形式,那么最多最需要划分成相邻的三段,很容易证明,如果是偶数段相同的显然可以直接分成两部分,如果是>3的奇数,显然可以留下2个,把剩余的合并,奇数个相同的异或起来值不变。知道这个结论之后就可以写了。无非就是先dfs求以每个节点为根子树的异或和,如果总的异或和为0,那么一定.

2021-10-05 11:41:06 73

原创 559C - Gerald and Giant Chess

传送门:https://codeforces.com/problemset/problem/559/C大意:给定一个n * m 的棋盘,有 k 个障碍点,障碍点不能走,求从(1,1)走到(n,m)(只能往下或往右走)的方案数。(1<=n,m<=1e5,k<=2000)(1<=n,m<=1e5,k<=2000)(1<=n,m<=1e5,k<=2000)思路:棋盘非常大,但是我们看到障碍点并不多。所以我们可以考虑从障碍点的角度入手。如果没有障碍点,从(1

2021-10-02 20:49:08 167

原创 Codeforces Round #745 (Div. 2) C. Portal

大意:给定一个 nm 的01矩阵。每次可以把把一个格子的0变1或者把1变0.问最少需要多少次操作可以使得其存在至少一个 ab的子矩阵,满足四个角上的无限制,矩阵四条边必须是1,内部必须是0。其中a,b满足 a>=5,b>=4。数据范围 5<=n<=400,4<=m<=400。思路:C题没写出,B忘记讨论k=0的情况,被hack了。寄!!!先不考虑具体前缀和实现的细节,很容易想到的一个思路,搞个二维前缀和然后枚举矩阵左上和右下的端点,时间复杂度 O(n4)O(n^4)

2021-10-01 21:16:20 219 1

原创 2021.杭电中超 第三场

Forgiving Matching FFT/NTT、 字符串匹配问题大意:给定一个长度为 n 的字符串 S, 以及长度为 m 的模板串 T。字符串有 ‘0’-'9’以及通配符‘*’组成,通配符可以变成任意的字符,现规定两个字符串不一样的位置不超过 k 个就算匹配,求 k=0,1,2,......∣T∣k=0,1,2,......|T|k=0,1,2,......∣T∣ 字符串 S 中和 T 匹配的字符串个数。思路:通过这道题算是长见识了。FFT/NTT 是可以用来求解字符串匹配问题的,尤其是在处.

2021-09-26 22:51:29 97

原创 2021.牛客暑假多校 第十场 补题

Browser Games 字符串哈希/字典树压缩大意:给定 n 字符串,每个字符串长度不超过100。对于每个字符串可以通过他的某个前缀去查询到它的信息。并确保任意一个字符串都不是另一个字符串的前缀。定义 ans[i]为 查询到前 i 个字符串的信息,并且确保查不到后面字符串的信息的最少前缀字符串的个数。最终依次输出ans[i]。(此题空间限制非常严格,只能O(n)O(n)O(n))思路1:字符串哈希。对于直接查询 n 个字符串我们很好统计数量,直接让每个前缀都是对应字符串的第一个字符,然后去重就..

2021-09-20 22:21:17 150

原创 小白月赛38 G 题

又一构造子序列 构造题大意:构造出一个长度不超过 1e5 的字符串,字符串恰好有 n 个 “yyc” 子序列。如果不能构造出这样的字符串输出-1。否则任意输出一个合法的字符串。n<=1e9构造能力还是不太行,想了很久都没想出什么比较好的构造方法。yy + (z个 c) + (x个y) + cc这样构造出的yyc 的数量为 z+(x+2)∗(x+1)/2∗2z+(x+2)*(x+1)/2*2z+(x+2)∗(x+1)/2∗2 即 x2+3x+2+zx^2+3x+2+zx2+3x+2+z

2021-09-19 22:12:28 263

原创 2021.牛客暑假多校 第九场 补题

E题 Eyjafjalla 树上倍增、主席树大意:给定一棵n个节点的树,每个节点有一个温度,父节点的温度比子节点高,越靠近根节点的温度越高,q次询问,每次给定一个病毒将要出现的初始节点以及病毒存活的温度区间[l,r]。当病毒在该节点能够存活,会向相邻的可以存活的节点传播。每次询问输出病毒传播的节点个数。n,q<=1e5思路:题目中有个很重要的条件就是父节点的温度都是比子节点高的,我们可以向上找,找到最上面的在区间范围内的温度记为节点 u,那么所有病毒能传播的节点都是在以 u 为根的子树中的,.

2021-09-15 15:58:27 117

原创 北京信息科技大学第13届程序设计大赛题解

ranko的手表 思维大意:给定时间的格式如下,xx:xx 但是有的数字并没有给出,给定两个时间 t1,t2。求t1<t2前提下可能的时间差的最大以及最小值。思路:看了别人的代码,也有很多 dfs 过的,比赛的时候dfs没写好,T了,然后一直在想怎么去模拟,结果到最后也没想出什么好办法。对于 dfs 的时候大可放心去赋值,我们只需要最后去判断是否合法就好了,这样代码会很多。另外有个更好的办法,一天24*60 也就1440分钟,我们大可放心 O(n2)O(n^2)O(n2) 的时间复杂度..

2021-09-12 15:35:29 254

原创 2021.牛客暑假多校 第八场 补题

A题 Ares, Toilet Ares 阅读理解题、签到大意:题目有点难懂,有个数字 a代表已经写对了,对于一道题有k 次获得代码的机会,每次获得的代码长度为 x,错误的概率为 p (分数形式)。当代码长度为 L 才能写对这道题,题目保证 k 次 的 x 的和为 L。求写对的题目数的期望值,结果对质数取模思路:因为题目已经确保 x 的和为 L , 所以直接计算概率算出的就是写对这道题的期望值。最后加上 a。代码如下:#include <bits/stdc++.h>using n.

2021-09-08 22:18:38 167

原创 2021.牛客暑假多校 第七场 补题

B 题 https://ac.nowcoder.com/acm/contest/11258/B 线段树洛谷上有原题,先来看看洛谷上那道题: https://www.luogu.com.cn/problem/P4198 题意有点小问题大意:有 n 栋楼,看做放在直角坐标系中,第 i 栋楼的横坐标为 i,m 次操作,每次可以将修改楼的纵坐标。现有个人在 (0,0)除,某栋楼能被看到的条件是,该楼最高点和(0,0)的连线不会和在他前面所有的楼的最高点和(0,0) 的连线相交或重合。没每次修改过后,这个.

2021-09-02 21:20:44 176

原创 2021.ccpc 网络赛

Cut The Wire签到题,不难,就是题意有点难懂,注意奇偶分情况考虑Time-division Multiplexing 阴间阅读理解大意:阅读理解题,题意巨难懂。大致意思就是给定 n 个长度不超多 12 的字符串,n<=1000,先将字符串按以下方式进行排列,即每个字符串有一个指针,刚开始指向每个字符串的第一个字符,然后从第一个字符串开始一直到最后一个字符串,将指针对应的字符依次拿出,然后指针向后移动,当指针在对应字符串的最后一个字母位置时继续移动回到第一个字符,依次往复构成新.

2021-09-02 14:09:18 434

原创 2021.百度之星 初赛二

1003魔怔 https://acm.hdu.edu.cn/showproblem.php?pid=7006 思维、(半)欧拉回路大意:给定 n 个点无向完全图,以及起点 s, 某些边是白色,另一些边是黑色,每次经过某条边就会将边上的颜色进行一次变换,问将所有的边变成黑色最少经过的边数。若不能输出-1。思路:对于任意一张连通图,每条路径只走一次,不考虑起点和终点,所有的点都经过了偶数次,进入和出来是对应的,即度数为偶数。起点少了一次进出,终点少了一次出来。特别的当起点和终点是同一个点的话,度数也是.

2021-08-23 14:24:58 195

原创 2021.百度之星 初赛一

1001迷失 https://acm.hdu.edu.cn/showproblem.php?pid=6996 期望dp + 二进制优化 + 快速幂优化大意:有 n 个点,初始位置在 1 号点,m条无向边,每条边有个状态即是否附魔,0代表没有,1代表附魔。现需要恰好经过 k 条边到达 n 号点,且此时为附魔状态。初始为无附魔状态,每经过一次附魔的桥自身的附魔状态就会发生改变,经过普通的桥则不会发生变化。每次在某点时等概率的选择一条路走,问到n号点且为附魔状态的概率。(2<=n<=100, .

2021-08-22 18:37:44 338 2

原创 2021.牛客暑假多校 第六场 补题

C题 https://ac.nowcoder.com/acm/contest/11257/C 构造、结论大意:给定一个 n 个点的无向完全图,点的下标1~n,不存在重边和自环,现经过若干次操作,每次删除三条边,使得最终边的个数少于n,每次操作需要满足以下条件,对于 x,y,z 边 (x,y),(y,z),(z,x)都存在才能删除这三条边。输出操作次数和具体方案,不需要最小化操作次数。(3<=n<=2000)思路:有个结论 对于 所有 x+y+z=0(mod n) 三元组,删除对应的边,把.

2021-08-22 10:58:57 344

原创 2021.牛客暑假多校 第五场 补题

B题 https://ac.nowcoder.com/acm/contest/11256/B 思维、期望大意:现有 n 个盒子,里面装有黑球或白球概率均为12\frac{1}{2}21​ 且相互独立,现在要确定盒子中黑球的数量,显然需要把所有盒子都打开。现多了一个选择,可以在开始的时候花费代价c,然后每次开盒前都可以知道剩下盒子里黑球的个数。求最小花费的期望值。思路:题目又双叒叕读假了。对于此题,显然就两种开盒方案,一是直接开完,二是先花费代价c,再开盒。求两种花费期望的最小值就行了。对于第一种很.

2021-08-17 15:47:34 159

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除