随笔分类 -  菜鸡的算法路

摘要:##next_permutation 个人感觉这个函数是值得学习一下的,全排列专用,用于将当前数组换到下一个排列 举个栗子: b[] = 1 2 3 4 5 next_pertutation(b,b+5) b[] = 1 2 3 5 4 高效避免了自己手动写轮子去模拟全排列! 不过值得注意的是,这个 阅读全文
posted @ 2022-12-19 21:05 empty_y 阅读(51) 评论(0) 推荐(0)
摘要:##题目大意: 给定一个n个点m条边的图,请你在其中加一条边使得整个图G是二分图,问有多少种可能。(已有的边不能加) ##解题思路: 首先我们要知道,二分图内是没有长度为奇数的回路的 所以如果我们将一个图内的点分为两部分,这两部分的点互相连起来的不重复的点都是满足二分图的 例如: 5个点分为两组:[ 阅读全文
posted @ 2022-12-18 16:42 empty_y 阅读(197) 评论(0) 推荐(1)
摘要:##题目链接:D. Hossam and (sub-)palindromic tree ##题目描述 给定一颗有n(n<=2e3)个顶点的树,每个顶点有一个点权(字符),定义s(u,v)为从u到v的简单路径 所经过的点权形成的字符串的最大回文字串 求对于所有s(u,v)求最大回文子串 ##解题思路: 阅读全文
posted @ 2022-12-12 13:34 empty_y 阅读(93) 评论(0) 推荐(0)
摘要:###题目大意: 对于n个数,求其所有可能排列中的逆序数之和 ###解题思路: 求每种排列逆序数之和,因为数字的顺序在变化,这对我们去计算总和很不利,所以我们转换思路我们可以先考虑数对(a,b)逆序数对整体的贡献(先固定住数) (a,b)可以形成的排列有C$\tbinom{1}{n}$*C$\tbi 阅读全文
posted @ 2022-11-23 19:27 empty_y 阅读(72) 评论(0) 推荐(0)
摘要:###T292115 [传智杯 #5 练习赛] 树的变迁 ###题目大意: 给定一棵具有 $n$ 个节点的树,每个节点有一个初始权值 $a_i$。 一共需要进行 $m$ 次操作,每次操作包括: 1.1 e 编号为 $e$ 的边突然消失,使得它所在的那棵树变成了两棵树。 2.2 u val 编号为 $ 阅读全文
posted @ 2022-11-22 13:54 empty_y 阅读(57) 评论(0) 推荐(0)
摘要:###E - Crystal Switches 题目大意: 给你n个点,m条边,连接成一个无向图,每个边最初有一个状态(0 or 1)表示是否能够通过,同时给k个开关位于k的顶点上,每次点击开关会使得所有路的状态发生改变,问从1到n的最短路径。 ###解题思路: 分层图 看见一个图有多种状态就可以想 阅读全文
posted @ 2022-11-13 20:33 empty_y 阅读(243) 评论(0) 推荐(0)
摘要:###True Liars ###题目描述: Peter有一个王国。在这个王国里,一共有2种人,即诚实人和撒谎人。诚实人永远说真话,撒谎人永远说假话。可惜的是,Peter只记得诚实人的数量和撒谎人的数量,但并不能确定每个人的身份。因此,他去民间收集了n组话语。每一组话语都是某人告诉Peter国王另一 阅读全文
posted @ 2022-11-09 23:54 empty_y 阅读(42) 评论(0) 推荐(0)
摘要:###C. Complementary XOR ####题目大意: 给你两个01串ab,问你是否可以通过一下两种操作在不超过n+5次的前提下将两个串都变为0,同时需要输出可以的操作方案 选择一个区间[l,r] 将串a的[l,r]翻转(0 $\rightarrow$ 1,1 $\rightarrow$ 阅读全文
posted @ 2022-11-07 14:17 empty_y 阅读(221) 评论(0) 推荐(0)
摘要:###图的分割 ###题目大意: 给你n个点,m条边的图,没有重环和自环,所有的点都联通 可以通过删除几条边使得整个图变成两个联通子图 求删除的边中最大边权的最小值 ###解题思路: 看到“最大边权的最小值”就晓得是经典的二分题目了,所以整体的代码就是二分,现在考虑check()怎么写 (当然边需要 阅读全文
posted @ 2022-11-06 20:50 empty_y 阅读(68) 评论(0) 推荐(0)
摘要:###扫雷 ###题目描述: 小明最近迷上了一款名为《扫雷》的游戏。 其中有一个关卡的任务如下: 在一个二维平面上放置着 n 个炸雷,第 i 个炸雷 (x$_i$,y$_i$,r$_i$) 表示在坐标 (x$_i$,y$_i$) 处存在一个炸雷,它的爆炸范围是以半径为 r$_i$ 的一个圆。 为了顺 阅读全文
posted @ 2022-11-03 14:11 empty_y 阅读(95) 评论(0) 推荐(0)
摘要:###最长不下降子序列 ###题目大意: 给定一个长度为 N 的整数序列:A${1}$,A${2}$,⋅⋅⋅,A$_{N}$。 现在你有一次机会,将其中连续的 K 个数修改成任意一个相同值。 请你计算如何修改可以使修改后的数列的最长不下降子序列最长,请输出这个最长的长度。 最长不下降子序列是指序列中 阅读全文
posted @ 2022-11-01 13:23 empty_y 阅读(239) 评论(0) 推荐(0)
摘要:###P3067 [USACO12OPEN]Balanced Cow Subsets G ###题目大意 给你n (n<=20) 个数,从中任意选择一些数分到两组中使得两组数之和相同 (1<= a <= 1e18) ###折半搜索 因为n的值较小就考虑搜索解决,每个数通常有三个状态: 分到左边 分到 阅读全文
posted @ 2022-10-31 21:10 empty_y 阅读(48) 评论(0) 推荐(0)
摘要:###题目链接 ###题目大意: 给你一个有n个元素的数组a,你可以通过一下三种操作使数组的每一个值都为0: 选择一个下标i,然后让a[1],a[2]....a[ i ] 都减一; 选择一个下标i,然后让a[i],a[i+1]....a[n] 都减一; 让每一个值都加一 问让整个数组的值都为0的最小 阅读全文
posted @ 2022-10-25 20:07 empty_y 阅读(38) 评论(0) 推荐(0)
摘要:###题目链接 ###题目大意 维护一个集合的mex,每次有三种操作: '+' x:将数 x 插入集合中 '-' x:将数 x 移除集合 '?' k:询问满足mex的数是k的倍数 既集合中未出现的数中最小的数可以整除k ###题目思路: 其实如果只维护操作1,3是比较容易的,只需要每次记录数是否在集 阅读全文
posted @ 2022-10-24 13:08 empty_y 阅读(79) 评论(0) 推荐(0)
摘要:###题目链接 ###题目大意: $~~$给定n个正整数和一个数k,问这n个数的阶乘之和能不能被k的阶乘整除 既:(a${1}$!+a${2}$!+a${3}$!+....+a${n}$!)$~$%$~$k!$~$==$~$0 ###题目分析: 我们把连续几个数的阶乘可以分解成如下结果: $~~~$ 阅读全文
posted @ 2022-10-23 23:34 empty_y 阅读(86) 评论(0) 推荐(0)
摘要:##题目链接 ##题目大意: 小明在游戏中搭建了一堵长为的城墙,墙上有个支撑点。为了知道墙是否足够坚固,小明喊来他的好朋友小刚帮助他进行测试。 小刚有一种特殊的炮弹可以对墙上任意一个支撑点进行轰击,收到轰击的支撑点将受到点伤害,此外,炮弹还会对个支撑点造成溅射伤害(受到的伤害依次减1)。 现在知道每 阅读全文
posted @ 2022-10-20 20:43 empty_y 阅读(90) 评论(0) 推荐(0)
摘要:##题目链接 题目描述: 给定一个长度为$~$n$~$的字符序列$~$a,初始时序列中全部都是字符$~$L。 有$~$q$~$次修改,每次给定一个$~$x,做出如下变化: $~~$ 1. a${x}$$~$=$~$L $\rightarrow$a${x}$$~$=$~$R $~~$ 2. a${x} 阅读全文
posted @ 2022-10-20 20:02 empty_y 阅读(54) 评论(0) 推荐(0)
摘要:##题目链接 ###题目大意 $~~$给出一棵 nn 个节点的树,根节点为 11。每个节点上有一种颜色 c$_{i}$ 和m 次操作。操作有两种: $~~~~$ 1. 1$~$u$~$c:将以$~$u$~$为根的子树上的所有节点的颜色改为$~$c。 $~~~~$ 2. 2$~$u$~$:询问以$~$ 阅读全文
posted @ 2022-10-18 12:56 empty_y 阅读(55) 评论(0) 推荐(0)
摘要:##题目链接 ###题目大意 给定a,b,c,d四个数,其中a<c,b<c,现在让你寻找一对数(x,y),满足一下条件: 1. a<x<c,b<y<d 2. (x*y)%(a*b)==0 ###题目思路 因为(x*y)%(a*b)==0$\rightarrow$x*y$~$=$~$k*a*b$~$= 阅读全文
posted @ 2022-10-18 11:36 empty_y 阅读(33) 评论(0) 推荐(0)
摘要:题目链接:Topcoder 洛谷 题目大意: 给定一个长为n的由a到z组成的字符串,有m次操作,每次操作将[l,r]这些位置的字符进行重排,得到字典序最小的回文字符串,如果无法操作就不进行。 思路: 用26颗线段树分别统计在每个位置上是否有对应的字母 每次操作: 1.有出现次数为奇数的字母: 大于1 阅读全文
posted @ 2022-10-16 14:52 empty_y 阅读(30) 评论(0) 推荐(0)