- 博客(53)
- 收藏
- 关注
原创 2024ICPC网络赛第一场C. Permutation Counting 4(线性代数)
其中p表示所有排列方式的总和。发现这是近似于矩阵a的行列式的值,不过去掉了其正负号。(在取模2的影响下,综合的加减没有影响)也就是说,只要我们求矩阵。至此,我们终于该题从看不懂的样子转化成了看起来像人话的子问题了。让我们解决这个子问题。下的每一行的向量存在线性相关,也就是存在其中一个向量可以被其它向量表示。表示,然后通过并查集判断出该向量能否通过其它向量表示。一个很妙的行列式转化,纯纯的线性代数。首先,我们把p的总数表示出来。根据矩阵的性质,矩阵的行列式。下可逆,也等价于该矩阵。,就可以解出最终解。
2024-09-23 15:38:23
1115
原创 AC修炼计划( AtCoder Regular Contest 178)A~C
当遇到题目限制条条件时我们要将限制条件分成一个个连续的段。每一段处理方法就是把该段的数字向左移动一位,最左端的数字移动到最右端+1的位置。比如限制条件是3,4,5。我们想让排列字典序尽可能的小,就得把小的数尽可能的往前面放,也就是说,在考虑第i个点的时候,i后面的数字我们可以忽略不计,在符合条件的情况下把能放在i的最小的数放上去。首先,第一位一定是要放1的,而后面的数只要符合条件就按照从小到大的顺序往里面放入依次放数。数学题,三种情况,在演草纸上推一推的话应该还是比较好推出来的。
2024-07-12 14:53:45
449
原创 AC修炼计划(AtCoder Regular Contest 179)A~C
比如第i位,假如我向这个数位放入的数字是j,首先,放入j的前提条件是在当前位数和上一个放入j的位数之间我们放入了至少一个a[j],此时j可以放入,同时,放入了j后,j会使得后面所有a[x]=j的数字都可以放入,我们可以通过状态去枚举各个数字是否可以放入,能放入的话对应的二进制位数就是1,不能放入就是0。这题可以用dp的思想去求,通过题目的数据,我们可以大胆去猜,首先复杂度一定要带个n,其次m仅仅等于10也让我们可以发散性的去想到状压的。的复杂度,还可以再添一个m,所以最终的复杂度最多为O(nmlog。
2024-07-11 09:18:18
448
原创 AC修炼计划(AtCoder Regular Contest 180) A~C
我们需要尽可能的把逆序对最大化,从样例三我们可以发现,我们不妨确立左边一个要交换的下标i,然后找下标大于等于i+k,数值从大到小的找小于ai的数字,并依次与i的数字进行交换。因为我们是按从小到大的顺序的,所以小的数字参与交换并不会影响后面大的数字该交换的逆序对。而这里面0的情况比较特殊,如果第i位的合成数字是0,其实不会改变下一个选中的数字。我们可以发现我们住需要统计一下类似ABABA这样不同字母相互交替的所有子段的长度,而每个字段的的情况有(长度+1)/2种,最后所有字段情况的乘积就是最终答案。
2024-07-10 09:21:28
570
2
原创 数位dp记录
我之前的数位dp都是正序遍历,并且每一次把dp值手动清空。dp[20][200][200],开三维dp,第一维表示位数的遍历,第二维表示当前所有数字的位数之和,第三位表示当前数字的模数。此时位dp[18][2520][2020],依旧会爆内存,但是我们可以发现,lcm一共有的数字不超过50个,我们需要提前预处理一下,可以把第三维优化成50。我们需要记录当前位数的位置,的上一位以及上上位置的数据值,以及当前是否已经满足了对称的条件从而分别作为数位dp的四维,来进行数位dp。和之前的题很像,直接上代码。
2024-04-01 15:56:57
344
原创 AC修炼计划(AtCoder Beginner Contest 335)E-F
A,B,C,D还算比较基础,没有什么思路,纯暴力就可以过。这里来总结一下E和F。
2024-01-12 20:51:19
548
原创 AC修炼计划(AtCoder Beginner Contest 332)
看看范围,n==15,第一个想法是dfs纯暴力,但所有的情况太大,各种决策层出不穷,会t。所以转而想到了状压dp,我们可以通过状压的迭代省去很多麻烦,但是也止步于想到状压了,不是很会实现。其实这题是通过状压的表示来实现每个背包的状态。我觉得这是道很好的题。这题一看就是个线段树,最近一直在练线段树,终于可以小试牛刀了。a,b,c都还是很基础了。d题是一个bfs的纯暴力问题。
2023-12-13 16:18:04
539
原创 AC修炼计划(AtCoder Beginner Contest 328)
本章对于自己的提升:dfs的运用,带权并查集,以及状压dp。A,B,C题比较简单,直接附上代码。
2023-11-20 17:43:15
138
原创 AC修炼计划(AtCoder Regular Contest 162)
这道题其实很好判断,就是在一个子树中,要保证不存在含有k的子节点,其次还要有1到k-1的节点,才算成立。Prufer 序列是这样构造的:每次选出编号最小的叶子节点(没有子节点的点),将它删去,并将它相连的点加入序列中,直到进行n−2 次后剩两个点。设以x为根节点的集合S,|S|为该集合的数量,集合中不存在比x更小的节点。我们可以用dp去维护,dp j k ,j表示我们选了多少个数,k表示这些数的出度的和。对于一个子树而言,如果该子树的根节点对答案有贡献,则该子树除根节点以外的节点的数字一定要大于根节点。
2023-11-15 21:06:36
155
原创 AC修炼计划(AtCoder Regular Contest 164)
A.签到题,在此不做赘述这题本来该是秒的,但是因为没有考虑清楚环的问题而被卡半天,其实我们不难发现,要想使题目存在节点,就得让该节点出现一条环同时,而且环最后的头和尾颜色还必须得相等。直接dfs跑环加暴力枚举即可。通过贪心的思想,双方若想都取最优,爱丽丝尽可能把差值大的值的从大的翻到小的,而鲍勃尽可能的在爱丽丝得手之前把没翻的牌(差值尽可能大的)拿走。然后,当正面大的牌都拿完的时候,鲍勃只需跟着爱丽丝拿,爱丽丝翻一张(把大的值翻上来),鲍勃就拿一张。
2023-10-29 19:41:31
148
原创 AC修炼计划(AtCoder Regular Contest 167)
因为我们需要求的是最小值,所以,尽可能的让所有数小才是最优的,按照数值顺序来说,相邻的会尽可能的小。后来看了佬的思路,感觉很奇妙,通过并查集来找所有所有的环,然后用set去维护这个环的最小值,如果当前的最小值小于后面环的最小值的话,就替换并且将两个环合并。我们不妨把所有的序列都涂上各自的颜色,看看有几种颜色,然后每个都取最小的那个,进行不断的替换。通过分解质因数来得出最后的数有多少个因子,然后两两匹配,如果因子个数是奇数,说明存在完全平方数因子的情况,于是单独计算出这样的贡献。佬的博客吧,解释的特别清楚。
2023-10-20 10:15:22
1255
原创 AC修炼计划(AtCoder Regular Contest 165)
这题我没有一点思路,是直接看佬的代码和思路的,让我恍然大悟。首先,如果a=c并且d>=b的话,那一定是输出no的,我们可以优先排前面的,最开始让a<c,当出现了环的情况的时候,才能确定出a==c,那就让下一位数作为比较,直到最后跳出。对于这道题而言,我们不难看出,如果想让该字符串尽可能的大,那最好的方式就是不改变,如果改变了,尽可能的向右边改变,同时尽可能的少改变。最开始我想到了最小生成树,但是没搞出来,后来看佬的码,惊讶的发现确实是最小生成树,只是我想的还是太浅了,不够深入。
2023-10-16 11:22:24
1061
2
原创 AC修炼计划(AtCoder Regular Contest 166)
一直修炼cf,觉得遇到了瓶颈了,所以想在atcode上寻求一些突破,今天本来想尝试vp AtCoder Regular Contest 166,但结局本不是很好,被卡了半天,止步于B题。不过确实,感觉AtCoder的题目还是很不错的,一改cf的很多惯性思路。你的目标是使数列 A 至少包含一个 a 的倍数,至少一个 b 的倍数,以及至少一个 c 的倍数。求实现这一目标所需的最少运算次数。,AN),以及正整数 a,b 和 c。选择一个整数 i,使得 1≤i≤N.将 Ai 替换为 Ai+1。
2023-10-10 15:37:07
473
原创 凡人修c传(二十五) Educational Codeforces Round 131 (Rated for Div. 2)C. Schedule Management
每日一水
2023-01-05 16:46:00
79
原创 凡人修c传(二十三)Codeforces Round #833 (Div. 2)C. Zero-Sum Prefixes(前缀和+贪心)
每日一水
2023-01-02 21:51:27
112
原创 凡人修c传(十八)学姐带我分治递归二叉树(Codeforces Round #826 (Div. 3)D. Masha and a Beautiful Tree)
每日一水
2022-12-23 22:58:39
196
原创 凡人修c传(十七)CodeCraft-21 and Codeforces Round #711 (Div. 2)C. Planar Reflections
每日一水
2022-12-23 22:49:53
151
原创 凡人修c传(十六)Educational Codeforces Round 139 (Rated for Div. 2)D.Lucky Chains
每日一水
2022-12-21 23:48:08
174
2
原创 凡人修c传(十二)Educational Codeforces Round 139 (Rated for Div. 2 C . Hamiltonian Wall)
每日一水
2022-12-13 22:52:07
253
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人