自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 排列组合 “n个球放入m个盒子m“问题 总结

求,盒子都可以分成是否不能区分,和能区分,还能分成是否能有空箱子,所以一共是8种情况,我们现在来一一讨论。1.球同,盒不同,无空箱C(n-1,m-1), n>=m0, n使用插板法:n个球中间有n-1个间隙,现在要分成m个盒子,而且不能有空箱子,所以只要在n-1个间隙选出m-1个间隙即可2.球同,盒不同,允许空箱C(n+m-1,m-1)我们在第1类情况下继续讨论,我们可以先假设m个盒子里都放好了1个球,所以说白了就是,现在有m+n个相同的球,要放入m个不同的箱子,没有空箱。也就

2021-06-27 23:30:43 698

原创 Codeforces Round #728 (Div. 1) B. Tree Array(期望、dp)

题目链接:https://codeforces.com/contest/1540/problem/B题目大意: n个节点的树。初始的时候,等概率随机选择一个点标记,接来随机选择一个与标记点相连的未标记点来标记,直到所有的点都被标记。根据点被标记的顺序,生成一个数列。这个数列的逆序对的期望个数为多少个?题解: 我们单独计算每对逆序对出现的概率,也就是对于,a在b之前被标记的概率。 我们可以分别计算出每个点第一个选时,逆序对出现的概率。 ...

2021-06-26 21:10:58 296

原创 Codeforces Round #726 (Div. 2) F. Figure Fixing (图论、数学、思维题)

题目链接:https://codeforces.com/contest/1537/problem/F题目大意:

2021-06-24 21:26:08 203 2

原创 Codeforces Round #726 (Div. 2) E2. Erase and Extend (Hard Version) (贪心 or Z_Function)

题目链接:https://codeforces.com/contest/1537/problem/E2题目大意: 有一个长度为n的初始字符串s,由小写字母组成,可以进行如下两种操作: 1,若s的字符数大于1,可删除s末尾的字符 2,在s的末尾加上自身, 可以进行无限次上述操作,我们需要得到一个长度为k的字符串,需要让该字符串的字典序最小。题解:个人的解法:贪心 1,若首字符为a,那么目标字符串一定为aaaa...

2021-06-24 11:21:58 135

原创 Codeforces Round #726 (Div. 2) D. Deleting Divisors(博弈)

题目链接:https://codeforces.com/contest/1537/problem/D题目大意: 有一个数字,两个人轮流进行操作,每一个人操作时,可以选择除开1和n以外任意一个n的因子D,将n减去这个因子D,第一个不能操作的人输掉游戏。若两个人都按照最优策略来操作,是先手必赢还是后手必赢。题解: 当n为素数时,面对这个情况的人输,而所有素数中除了2为偶数,其余的素数一定为奇数。 分类讨论: 1,若...

2021-06-23 19:26:00 139

原创 Codeforces Round #726 (Div. 2) C. Challenging Cliffs(贪心构造)

题目链接:https://codeforces.com/contest/1537/problem/C题目大意: 有座山,每座山有一个高度,我们需要从左到右排列山的顺序,需要首先让第一座山和最后一座山的高度差最小,在此的基础上,若则总难度加1,我们需要让总难度最大。输出任意一种满足条件的山的排列情况。题解: 首先将n座山按照高度从低到高排序。 然后我们找出任意一对高度差最小的山,假设为,先把它们放到首尾 我们来思考下这种情况下的最...

2021-06-23 19:02:57 198

原创 Codeforces Round #726 (Div. 2) B. Bad Boy

题目链接:https://codeforces.com/contest/1537/problem/B题目大意: 有一个n行,m列的格子图,初始的时候人格子的位置,人每次可以往上下左右四个方向移动一格。需要选择两个目标点,,人需要从起点走到其中一个目标点,再走到另外一个目标点,最后再回到起点。要求人移动的距离最大,输出选择的两个目标点的坐标,两个目标点可以重合。题解: 用公式表示出人移动的距离:abs(x)表示求x的绝对值 我们...

2021-06-23 18:15:39 137

原创 Deltix Round, Spring 2021 D. Love-Hate(随机+动态规划 or 搜索)

题目链接:https://codeforces.com/contest/1523/problem/D题目大意:

2021-06-01 19:45:12 214 1

原创 Codeforces Round #723 (Div. 2) C2. Potions (Hard Version) (贪心、dp、数据结构)

题目链接:https://codeforces.com/contest/1526/problem/C2题目大意:从左到右有杯酒,每杯酒有一个健康值,喝掉一杯酒后,人的健康值会加。初始的时候人的健康值为0,在最左边的酒,从左到右往后喝,对于一杯酒可以选择喝和不喝,人的健康值在整个过程不能小于0,求最多可以喝几杯酒?题解:方法1:dp表示前杯酒喝了杯最大的健康值这种方法复杂度个人的解法:贪心若当前酒健康值为-4且能喝,后面有杯健康值为-1,那么显然后面这杯健康值为-1的酒是.

2021-05-31 18:05:03 205 1

原创 Codeforces Round #723 (Div. 2) B. I Hate 1111 (数学)

题目链接:https://codeforces.com/contest/1526/problem/B题目大意:判断一个数字,能否由数字,任意组合相加构成。例如:33=11+11+11144=111+11+11+11题解:方法1:1111,11111....后面的数,都可以由11,111两个数字组合而成。因此真正有效的数字就是11和111因此,我可以这样表示x,我们只需要判断这个方程是否同时大于等于0的解即可。我们可以用扩展欧几里得求得方程的解的方程式,判断a,b是

2021-05-31 17:37:48 343

原创 Codeforces Round #721 (Div. 2) B2. Palindrome Game (hard version) (博弈问题)

题目链接:https://codeforces.com/contest/1527/problem/B2题目大意:有一个长度为的字符串,由字符'0'和'1'组成。Alice和Bob进行游戏,一人操作一个回合,Alice先。每个回合可以进行两种操作:1,把某个字符‘0’变成'1',支付1元2,若目前字符串不是回文串,且上个回合不是执行的操作2,则可以把字符串翻转,支付0元最后字符串全部变为1时,游戏结束,此时花的钱少的人获胜。本题有两个版本:1,简单的版本:初始的时候字符串是

2021-05-21 20:02:21 136

原创 Educational Codeforces Round 109 (Rated for Div. 2) E. Assimilation IV(组合数学,概率轮)

题目链接:https://codeforces.com/contest/1525/problem/E题目大意:有个城市,个点,表示城市i到点j的距离。现在有轮,每一轮可以选择一个未建造过雕塑的城市,建造一个雕塑。雕塑的初始影响力为1,建造后每一轮影响力都会加1,若城市的雕塑的影响力大于等于城市到某个点的距离,那么这个点就被雕塑的影响力覆盖。现在每一轮随机选择一个城市建筑雕塑,求最后被雕塑影响力覆盖的点的期望个数。题解:若我们直接去计算某个点被覆盖的方案数,由于一个点可能被多个城市覆盖

2021-05-20 16:57:58 232

原创 Educational Codeforces Round 109 (Rated for Div. 2) D. Armchairs (dp)

题目链接:https://codeforces.com/contest/1525/problem/D题目大意:个数的0,1序列,a[i]=0或1。1的个数一定不超过n的一半。我们需要把所有的1和某个0配对,一个0只能和一个1配对,若和配对,则会消耗的资源。求所有1完成配对后,总资源消耗最少是多少?题解:个人的解法:首先我们可以想一个朴素的贪心匹配方法:我们从前往后扫描,若当前扫描到的数为1,则与目前扫描过的未匹配过的最近的0匹配;若目前扫描到0,则与目前扫描过的未匹配过的1匹配。我们可以

2021-05-20 16:25:45 182

原创 Educational Codeforces Round 109 (Rated for Div. 2) C. Robot Collisions(思维分析题)

题目链接:https://codeforces.com/contest/1525/problem/C题目大意:在轴上有个球,在坐标点0和坐标点处有一个挡板,每个球初始的时候位于整数坐标,以及初始移动方向,向左或者向右,当球碰到挡板时会立马改变运动方向。每个1秒球移动1的距离,当两个球在同一个整数坐标点相遇时,两个球都会销毁。输出每个球的销毁时间,若球不会消失输出-1。题解:先分类讨论,各种情况下的相撞条件:1,两个球相向而行,这时若两个球的距离为偶数,则两个球会相撞。奇数,则一定不会相撞。

2021-05-19 18:45:28 138

原创 leetcode 1856. 子数组最小乘积的最大值 (单调栈)

题目链接:https://leetcode-cn.com/problems/maximum-subarray-min-product/题解方法一:二分法求某个数前面第一个小于它的数的下标,需要预处理出ST表用查询区间最小值。详细方法我写在leetcode里:https://leetcode-cn.com/problems/maximum-subarray-min-product/solution/stbiao-er-fen-by-ma-lie-hrv4/复杂度O(nlogn)方法二:

2021-05-12 15:40:12 157

原创 LeetCode 2021 春季赛组队赛 解题报告

LCP 33. 蓄水题目链接:https://leetcode-cn.com/problems/o8SXZn/题解:暴力枚举蓄水操作的次数计算最优解即可代码如下:class Solution {public: int storeWater(vector<int>& bucket, vector<int>& vat) { int sum=0; for(int i=0;i<int(vat.size());i

2021-05-09 17:48:50 289

原创 UVA - 1393 Highways (和紫书不一样的解法)

题目链接题解:由于我的方法和紫书不一样,所以专门写一下记录一下解题思路。显然“\”和“/”两个方向的直线数量是相同的,所以我们考虑计算“/”方向的线的数量。统计类问题,都需要找到合适的分类方法,使我们能够不重复、不遗漏的统计出所有情况。本题我们以直线的起点分类,把直线分类,来进行统计。对于点,其右上角有个点,总共可以连条直线,其中某些直线重复出现,假如我们计算出只出现了一次的直线有多少条记为。那么所有点的的和,即,就是我们的答案。很容易证明,对于每条直线,我们只会在最右上角那一段

2021-04-08 19:45:35 95

原创 leetcode LCP 32. 批量处理任务(贪心+二分)

题目链接解题思路容易想到贪心思路,按照区间右值从小到大,将任务排序。然后依次处理每个任务,每次优先选择区间最右边的时间来处理任务,这样可使选择的时间尽量的被后面的区间包含,使能多次利用的时间尽量的多,使总时间最少。接下来看具体到每个任务的细节如何处理?对于每一个任务,首先查看这个任务的区间内包含多少已使用的时间,如何计算这个值?容易发现,前面选择使用的时间区间,一定是由某些不相交的时间段组成,我们可以维护前面选择的时间段,由于这些时间段一定是升序排列,所以我们可以二分查找当前的区间包含哪些已选

2021-04-07 15:37:58 415

原创 leetcode春季赛 LCP 31. 变换的迷宫 (动态规划)

题目链接解题思路首先我们容易想到一个简单的动态规划方法:用dp[t][x][y][s][fx][fy]表示在时间t时,s(0或1)表示临时消除法是否使用,以及永久消除法已经用在点(fx,fy),点(x,y)能否到达。用递推来计算出所有dp状态的结果。但是,这个方法的时间复杂度位O(Tnm2nm5),其中5为转移复杂度,最坏情况下约为10^9,复杂度太高。我们来考虑如何优化这个dp表达式,显然时间t,坐标(x,y),状态s都无法优化。我们把优化重点放到永久消除卡上。分类讨论:1,如果我们使用永

2021-04-06 18:00:45 221

原创 UVA 11440 - Help Tomisu(素数筛选+容斥原理+逆元 or 欧拉函数)

题目链接题目大意:给定两个数,求到的所有数中,所有素因子都大于m的数的个数,答案模以。题解:个人的解法1:反过来计算存在素因子小于等于m的数的个数,假设小于m的素数有k个,那么,就是小于等于的数中包含素因子的数的个数,就是同时包含素因子a1和a2的数的个数,那么根据容斥原理,我们可以这样计算奇数个素因子的组合就加,偶数个素因子的组合就减,就能计算出答案。暴力枚举所有组合情况显然复杂度太高,接下来才是解决问题的关键,如何计算这个值?我个人的方法,通过递推求解,我们从前往后求

2021-04-03 23:48:30 136

原创 UVA 1640 - The Counting Problem (数学)

题目链接题意:给定两个数字,统计出之间的所有数字中,数字分别出现了多少次?题解:方法很多,本题细节很多,但只要思路清晰,没有算重或者算漏就行了。个人的方法:计算出小于等于的答案,再计算出小于等于的答案,两者相减就行了。如何计算小于等于的答案?我假设求解数字5023的解,从最高位开始,假设最高位填0,那么剩余3位可以任意填,但是前导0不能计算在结果内,所以数字0出现的次数,就是小于等于999的所有数字中0出现的次数(我们可以预处理出这个结果),而数字1到9出现的次数就是假设最高

2021-03-30 15:56:40 230

原创 leetcode 第 234 场周赛解题报告

比赛链接5713. 字符串中不同整数的数目题解:暴力枚举把字符串中的数字筛选出来,用数据结构去重即可(set,map,hashmap)均可代码如下:class Solution {public: int numDifferentIntegers(string word) { set<string> se; string cur=""; bool zero=false; for(int i=0;i<i

2021-03-28 21:11:31 105

原创 Codeforces Round #707 (Div. 2) C. Going Home (暴力枚举)

题目链接:https://codeforces.com/contest/1501/problem/C题目大意:个数,,从中找出四个不同的数,要求,输出满足条件的任意的一组题解:暴力枚举!我们可以证明若存在四对数,那么其中一定可以找出四个不同的数,满足上述条件。分类讨论:若为的情况,那么显然,我们可以选择作为答案。若为的情况,那么显然我们可以选择作为答案。其余情况,也一定可以从4对数中,选出两组数满足条件。我们可以用图来证明,我们假设下标为点,若两个下标的数相加为,我们可以在两

2021-03-15 19:14:30 235 1

原创 Codeforces Round #705 (Div. 2) D. GCD of an Array (素因子分解+数据结构)

题目链接:https://codeforces.com/contest/1493/problem/D题目大意:输入两个数,接下来输入个数,接下来次询问。每次询问输入,我们需要把乘以,,求出,答案模以。题解:由于数字可能很大,我们需要将数字进行素因子分解,可以用存数字素因子分解的形式。对于素因子分解,我们可以采用埃拉托色尼筛选法对于每个素数,我们可以用或维护素数的幂出现的次数。由于每次都是乘操作,答案只增不降,对于每次询问,我们可以维护当前的答案,每次只更新变化的素因子的.

2021-03-11 17:41:40 124

原创 Codeforces Round #705 (Div. 2) C. K-beautiful Strings (贪心)

题目链接:https://codeforces.com/contest/1493/problem/C题目大意:输入两个数,和一个长度为的字符串,只包含小写字母。定义一个字符串为“好串”:字符串中每个字符出现的次数均为的整数倍。求出一个长度为,只包含小写字母的字符串,这个字符串为一个好串,且字典序不小于字符串,且为所有满足上述条件的字符串中字典序最小的字符串。题解:若不为的整数倍,则一定无解。若字符串本身是一个好串,则答案就为字符串。剩余的情况,我们求出答案字符串与字符串的最长相同前缀

2021-03-11 16:38:36 132

原创 Codeforces Global Round 13 D. Zookeeper and The Infinite Zoo

题目链接:https://codeforces.com/contest/1491/problem/D题目大意:有无限个点,编号为,当且仅当,从点到点有一条有向边。有次询问,每次询问两个数字,求从点开始,能否到达点。题解:,那么二进制为1的位,二进制也一定为1,例如: 观察上例,从的二进制的进度看,观察操作结果,我们可以总结为两种操作:1:若上一位为0,可把这位的1左移一位2:二进制位连续的1,合并为一个1并左移1位由于途中可以...

2021-03-01 19:35:46 147

原创 Codeforces Global Round 13 C. Pekora and Trampoline(贪心+数据结构)

题目链接:https://codeforces.com/contest/1491/problem/C题目大意:有张蹦床从左到右排成一排,每张蹦床有个初始弹性,n张蹦床则有。小明可以从任意一张蹦床开始跳,若小明跳上第张蹦床,则跳往下一个蹦床的位置为,若则跳到外面去了。当小明跳过这张蹦床后,蹦床弹性减少1,蹦床弹性最少为1不能低于1。也就是说跳过蹦床后弹性变为。小明每次跳上蹦床后,就会一直跳直到跳出去。求,小明最少多少趟跳上蹦床,可把所有蹦床的弹性变为1。题解:由于小明可以任意选择每次跳的.

2021-03-01 18:34:41 1678

原创 Codeforces Round #698 (Div. 1) B. Nezzar and Binary String (线段树)

题目链接:https://codeforces.com/contest/1477/problem/BB. Nezzar and Binary Stringtime limit per test2 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard outputNezzar has a binary stringssof lengthnnthat he wants ...

2021-02-28 16:57:16 152

原创 Codeforces Round #698 (Div. 1) C Nezzar and Nice Beatmap

题目链接:https://codeforces.com/contest/1477/problem/CC. Nezzar and Nice Beatmaptime limit per test2 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard outputNezzar loves the game osu!.osu! is played on beatmaps, w

2021-02-28 16:35:38 132

原创 Codeforces Round #698 (Div. 1) D. Nezzar and Hidden Permutations(高难度的构造问题)

题目链接:https://codeforces.com/contest/1477/problem/D题目大意:给定两个数字n,m。以及m对数字,,m对数不重复出现求出两个1到n的排列,(p1,p2,p3......pn),(q1,q2,q3....qn),对于所有要求和符号相同,并且对于所有,要让满足的数目最大。题解:我们可以把问题抽象到图上,构造一个图,包含n个编号为1到n的点,对于每对,我们在点和点之间建一条边。我们需要在每个点上填两个数字和,若点和点之间存在一条边,则点和点上...

2021-02-25 20:13:58 238

原创 codeforces 698 Div1 A Nezzar and Board (构造+数论)

题目链接:https://codeforces.com/contest/1477/problem/AA. Nezzar and Boardtime limit per test2 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard outputnndistinctintegersx1,x2,…,xnx1,x2,…,xnare written on the boar...

2021-02-09 23:51:49 156

原创 CodeForces 1389G Directing Edges 边联通分量缩点+树形dp+rerooting technique

题目链接:https://codeforces.com/contest/1389/problem/GG. Directing Edgestime limit per test4 secondsmemory limit per test512 megabytesinputstandard inputoutputstandard outputYou are given an undirected connected graph consisting ofnnverti..

2020-10-12 19:32:33 374

原创 CodeForce 1153D(树上动态规划+贪心)

题目链接题意:N个节点的树,有K个叶子节点,需要将1,2,3...K,K个数任意填入K个叶子节点,每个叶子节点填一个数,每个数只能填入一个叶子节点。每个节点上有个一个运算,运算有两种Max和Min。若运算为Max,则该节点的值等于所有儿子节点的最大值;若运算为Min,该节点的值等于所有儿子节点的最小值。问,根节点可能出现的最大值?题解:关于树的问题,可以考虑树上动态规划的方法。 ...

2019-04-29 16:36:04 218

原创 codeforces 601C(概率dp)

题目链接C. Kleofáš and the n-thlontime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputKleofáš is participating in

2015-11-27 21:36:42 922

原创 codeforces 601B Lipshitz Sequence

题目链接B. Lipshitz Sequencetime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputA function is called Lipschitz c

2015-11-27 19:54:42 871

原创 codeforces 601A The Two Routes(BFS)

题目链接A. The Two Routestime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputIn Absurdistan, there are n towns (

2015-11-27 16:13:42 915

原创 codeforces 596E Wilbur and Strings(DFS)

题目链接E. Wilbur and Stringstime limit per test3 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputWilbur the pig now wants to pla

2015-11-24 21:53:45 756

原创 poj 1734 Sightseeing trip(floyd求最小环并输出方案)

题目链接Sightseeing tripTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 5736 Accepted: 2220 Special JudgeDescriptionThere is a travel agency in Adel

2015-11-22 21:43:22 418

原创 zoj 3882 Help Bob(博弈)

题目链接Help BobTime Limit: 2 Seconds      Memory Limit: 65536 KBThere is a game very popular in ZJU at present, Bob didn't meant to participate in it. But he decided to join it after discov

2015-07-31 21:36:31 452

原创 zoj 3886 Nico Number(线段树,区间取模操作)

题目链接Nico NumberTime Limit: 2 Seconds      Memory Limit: 262144 KBKousaka Honoka and Minami Kotori are playing a game about a secret of Yazawa Nico.When the game starts, Kousaka Honoka 

2015-07-31 20:56:24 2169

空空如也

空空如也

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

TA关注的人

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