自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AC修炼计划( AtCoder Regular Contest 178)A~C

当遇到题目限制条条件时我们要将限制条件分成一个个连续的段。每一段处理方法就是把该段的数字向左移动一位,最左端的数字移动到最右端+1的位置。比如限制条件是3,4,5。我们想让排列字典序尽可能的小,就得把小的数尽可能的往前面放,也就是说,在考虑第i个点的时候,i后面的数字我们可以忽略不计,在符合条件的情况下把能放在i的最小的数放上去。首先,第一位一定是要放1的,而后面的数只要符合条件就按照从小到大的顺序往里面放入依次放数。数学题,三种情况,在演草纸上推一推的话应该还是比较好推出来的。

2024-07-12 14:53:45 347

原创 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 347

原创 AC修炼计划(AtCoder Regular Contest 180) A~C

我们需要尽可能的把逆序对最大化,从样例三我们可以发现,我们不妨确立左边一个要交换的下标i,然后找下标大于等于i+k,数值从大到小的找小于ai的数字,并依次与i的数字进行交换。因为我们是按从小到大的顺序的,所以小的数字参与交换并不会影响后面大的数字该交换的逆序对。而这里面0的情况比较特殊,如果第i位的合成数字是0,其实不会改变下一个选中的数字。我们可以发现我们住需要统计一下类似ABABA这样不同字母相互交替的所有子段的长度,而每个字段的的情况有(长度+1)/2种,最后所有字段情况的乘积就是最终答案。

2024-07-10 09:21:28 455 2

原创 数位dp记录

我之前的数位dp都是正序遍历,并且每一次把dp值手动清空。dp[20][200][200],开三维dp,第一维表示位数的遍历,第二维表示当前所有数字的位数之和,第三位表示当前数字的模数。此时位dp[18][2520][2020],依旧会爆内存,但是我们可以发现,lcm一共有的数字不超过50个,我们需要提前预处理一下,可以把第三维优化成50。我们需要记录当前位数的位置,的上一位以及上上位置的数据值,以及当前是否已经满足了对称的条件从而分别作为数位dp的四维,来进行数位dp。和之前的题很像,直接上代码。

2024-04-01 15:56:57 280

原创 AC修炼计划(AtCoder Beginner Contest 334)A~G

A题是最最基础的语法题就不再讲解。

2024-01-14 14:35:17 1438

原创 AC修炼计划(AtCoder Beginner Contest 335)E-F

A,B,C,D还算比较基础,没有什么思路,纯暴力就可以过。这里来总结一下E和F。

2024-01-12 20:51:19 483

原创 AC修炼计划(AtCoder Beginner Contest 332)

看看范围,n==15,第一个想法是dfs纯暴力,但所有的情况太大,各种决策层出不穷,会t。所以转而想到了状压dp,我们可以通过状压的迭代省去很多麻烦,但是也止步于想到状压了,不是很会实现。其实这题是通过状压的表示来实现每个背包的状态。我觉得这是道很好的题。这题一看就是个线段树,最近一直在练线段树,终于可以小试牛刀了。a,b,c都还是很基础了。d题是一个bfs的纯暴力问题。

2023-12-13 16:18:04 465

原创 AC修炼计划(AtCoder Beginner Contest 329)

A,B,C,D这四道题比较简单,就不多叙述。

2023-11-21 22:52:34 257

原创 AC修炼计划(AtCoder Beginner Contest 328)

本章对于自己的提升:dfs的运用,带权并查集,以及状压dp。A,B,C题比较简单,直接附上代码。

2023-11-20 17:43:15 89

原创 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 103

原创 AC修炼计划(AtCoder Regular Contest 163)

第一题我们只需要将字符串分成两段,如果存在前面一段比后面一段大就成立。

2023-11-04 14:11:37 561

原创 AC修炼计划(AtCoder Regular Contest 164)

A.签到题,在此不做赘述这题本来该是秒的,但是因为没有考虑清楚环的问题而被卡半天,其实我们不难发现,要想使题目存在节点,就得让该节点出现一条环同时,而且环最后的头和尾颜色还必须得相等。直接dfs跑环加暴力枚举即可。通过贪心的思想,双方若想都取最优,爱丽丝尽可能把差值大的值的从大的翻到小的,而鲍勃尽可能的在爱丽丝得手之前把没翻的牌(差值尽可能大的)拿走。然后,当正面大的牌都拿完的时候,鲍勃只需跟着爱丽丝拿,爱丽丝翻一张(把大的值翻上来),鲍勃就拿一张。

2023-10-29 19:41:31 110

原创 AC修炼计划(AtCoder Regular Contest 167)

因为我们需要求的是最小值,所以,尽可能的让所有数小才是最优的,按照数值顺序来说,相邻的会尽可能的小。后来看了佬的思路,感觉很奇妙,通过并查集来找所有所有的环,然后用set去维护这个环的最小值,如果当前的最小值小于后面环的最小值的话,就替换并且将两个环合并。我们不妨把所有的序列都涂上各自的颜色,看看有几种颜色,然后每个都取最小的那个,进行不断的替换。通过分解质因数来得出最后的数有多少个因子,然后两两匹配,如果因子个数是奇数,说明存在完全平方数因子的情况,于是单独计算出这样的贡献。佬的博客吧,解释的特别清楚。

2023-10-20 10:15:22 1145

原创 AC修炼计划(AtCoder Regular Contest 165)

这题我没有一点思路,是直接看佬的代码和思路的,让我恍然大悟。首先,如果a=c并且d>=b的话,那一定是输出no的,我们可以优先排前面的,最开始让a<c,当出现了环的情况的时候,才能确定出a==c,那就让下一位数作为比较,直到最后跳出。对于这道题而言,我们不难看出,如果想让该字符串尽可能的大,那最好的方式就是不改变,如果改变了,尽可能的向右边改变,同时尽可能的少改变。最开始我想到了最小生成树,但是没搞出来,后来看佬的码,惊讶的发现确实是最小生成树,只是我想的还是太浅了,不够深入。

2023-10-16 11:22:24 943 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 396

原创 dp修炼(组合数的迭代&&树形dp求解任意树中两点间的距离和)

dp修炼

2023-08-05 11:18:51 139

原创 二分图的初遇Codeforces Round 884 (Div. 1 + Div. 2) E

二分图初遇记录

2023-07-17 21:35:20 226 6

原创 dp修炼(dp的反向逆运算,查找dp选取的物品)

每日一水

2023-03-30 23:03:46 115

原创 dp修炼(G. Good Key, Bad Key)

每日一水

2023-03-08 22:24:15 94

原创 cf每日一水(C. Card Game E. The Humanoid )

每日一水

2023-03-03 22:51:10 145

原创 cf每日一水(D. Playoff C. Serval and Toxel‘s Arrays C. Maximum Set)

每日一水

2023-03-02 22:37:51 151

原创 dp修炼(对内训练选拔赛B - 时间 and G - Mashmokh and ACM)

每日一水

2023-03-01 22:53:47 106

原创 数论:逆元的模板题(Educational Codeforces Round 143 (Rated for Div. 2)D题)

每日一水

2023-02-21 11:57:00 71

原创 凡人修c传(二十七)Codeforces Round #788 (Div. 2)C. Where is the Pizza?

每日一水

2023-01-11 23:12:16 67

原创 凡人修c传(二十六)Codeforces Round #823 (Div. 2)B. Meeting on the Line

每日一水

2023-01-06 23:30:20 48

原创 凡人修c传(二十五) Educational Codeforces Round 131 (Rated for Div. 2)C. Schedule Management

每日一水

2023-01-05 16:46:00 64

原创 凡人修c传(二十四)Codeforces Round #829 (Div. 1)B. Factorial Divisibility

每日一水

2023-01-04 22:33:35 71

原创 凡人修c传(二十三)Codeforces Round #833 (Div. 2)C. Zero-Sum Prefixes(前缀和+贪心)

每日一水

2023-01-02 21:51:27 74

原创 凡人修c传(二十二)字符串的环 Codeforces Round #824 (Div. 2)C. Phase Shift

每日一水

2023-01-02 21:42:24 73

原创 凡人修c传(二十一)最短路(弗洛伊德)+状压dp

每日一水

2022-12-29 22:25:51 57

原创 凡人修c传(二十)最短路K - Candies(dijkstra堆优化+差分约束)

每日一水

2022-12-26 22:37:19 83

原创 凡人修c传(十九) Codeforces Round #691 (Div. 1)A. Row GCD

每日一水

2022-12-25 21:07:51 65

原创 凡人修c传(十八)学姐带我分治递归二叉树(Codeforces Round #826 (Div. 3)D. Masha and a Beautiful Tree)

每日一水

2022-12-23 22:58:39 147

原创 凡人修c传(十七)CodeCraft-21 and Codeforces Round #711 (Div. 2)C. Planar Reflections

每日一水

2022-12-23 22:49:53 108

原创 凡人修c传(十六)Educational Codeforces Round 139 (Rated for Div. 2)D.Lucky Chains

每日一水

2022-12-21 23:48:08 117 2

原创 凡人修c传(十五)cf 837div2 C. Hossam and Trainees

每日一水

2022-12-20 22:36:32 103

原创 凡人修c传(十四)基本最短路 朴素Dijkstra算法

每日一水

2022-12-19 23:25:01 50

原创 凡人修c传(十三)POJ 3026 Borg Maze(bfs+最小生成树)

每日一水

2022-12-14 23:40:23 60

原创 凡人修c传(十二)Educational Codeforces Round 139 (Rated for Div. 2 C . Hamiltonian Wall)

每日一水

2022-12-13 22:52:07 155 2

原创 凡人修c传(十一)振刀振不动dp(校赛补题 博弈+dp)

每日一水

2022-12-13 22:45:07 206

空空如也

空空如也

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

TA关注的人

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