自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

月阁

在这世界留下点什么

  • 博客(333)
  • 收藏
  • 关注

原创 2022牛客多校#6 C. Forest

2022牛客多校#6 C. Forest

2022-08-07 13:41:10 373 3

原创 2022牛客多校#4 C. Easy Counting Problem

定义好字符串,满足:有 q(1≤q≤300)q(1 \leq q \leq 300)q(1≤q≤300) 次询问,每次询问求解有多少个不同的长度为 n(1≤n≤107)n(1 \leq n \leq 10^7)n(1≤n≤107) 的好字符串。考虑生成函数,由于求排列计数,因此考虑EGF。数字 kkk 至少出现 ckc_kck​ 次,其对应的EGF为fk(x)=xckck!+xck+1(ck+1)!+xck+2(ck+2)!+...=ex−∑i=0ck−1xii!\begin{aligned}f_k(

2022-08-02 14:33:59 305

原创 Educational Codeforces Round 132 div.2 A-F题解

Educational Codeforces Round 132 div.2 A-F题解

2022-07-22 04:16:27 1372 8

原创 Codeforces Round#808 div.1+div.2题解

Codeforces Round#808 div.1+div.2题解

2022-07-17 06:21:18 1549 1

原创 Codeforces Round #807 (Div. 2) A-F题解

Codeforces Round #807 (Div. 2) A-F题解

2022-07-16 00:30:22 707 1

原创 Educational Codeforces Round 131 div.2 A-F题解

Educational Codeforces Round 131 div.2 A-F题解

2022-07-10 04:27:10 225

原创 Codeforces Round #804 (Div. 2) A-E题解

Codeforces Round #804 (Div. 2) 题解

2022-07-07 03:08:58 565

原创 Codeforces Round #761 div.2 A-E题解

视频讲解:咕了 ,推荐看wls的视频题解 。A. Forbidden Subsequence题目大意给定两个由小写字母构成的字符串 S(1≤∣S∣≤100),TS(1 \leq |S| \leq 100),TS(1≤∣S∣≤100),T ,其中 TTT 是字符串 “abc” 的一种排列。求字符串 S′S'S′ ,其是 SSS 的最小字典序排列且不包含子序列 TTT 。题解若 T≠T \neqT​= “abc” ,则将 SSS 排序后,必定符合条件。若 T=T=T= “abc” 且 SSS 包含

2021-12-17 02:18:28 1018

原创 Educational Codeforces Round 118 div.2 A-E题解

视频讲解:咕了 ,推荐看wls的视频题解 。A. Long Comparison题目大意有两个数,它们都用同一种格式表示:一个正整数 x(1≤x≤106)x(1 \leq x \leq 10^6)x(1≤x≤106) ,后面附加 p(0≤p≤106)p(0 \leq p \leq 10^6)p(0≤p≤106) 个 000 。现在给定两个数,求他们的大小比较关系。题解由于 1≤x≤1061 \leq x \leq 10^61≤x≤106 ,因此若 ppp 相差超过 666 ,则直接比较 ppp

2021-12-02 04:15:10 730 3

原创 Codeforces Round #757 div.2 A-D题解

视频讲解:咕了 ,推荐看dls的视频题解 。A. Divan and a Store题目大意商店里有 n(1≤n≤100)n(1 \leq n \leq 100)n(1≤n≤100) 个不同的巧克力棒,第 iii 个巧克力棒的价格为 aia_iai​ 美元。Divan只会购买价格在 [l,r][l,r][l,r] 区间内的巧克力棒,求花费不超过 kkk 美元的情况下,最多可以购买多少巧克力棒。题解将 aia_iai​ 升序排序,从小到大依次选择价格在 [l,r][l,r][l,r] 范围内的巧克力

2021-11-27 04:56:19 1154

原创 Codeforces Round #742 div.2 A-F题解

视频讲解:TBDA. Domino Disaster题目大意有一个 2×n (1≤n≤100)2\times n~(1 \leq n \leq 100)2×n (1≤n≤100) 的方格图,用 1×21\times 21×2 的多米诺骨牌填满,每个骨牌是垂直或者水平放置的,且每个格子最多被一个骨牌覆盖。现在给定其中一行的网格,求另一行是什么样子。题解‘L’ 和 ‘R’ 不变, ‘D’ 和 ‘U’ 互换。参考代码#include <bits/stdc++.h>

2021-09-08 03:42:09 368

原创 Codeforces Round #741 div.2 A-F题解

视频讲解:TBDA. The Miracle and the Sleeper题目大意给定两个正整数 l,r (1≤l≤r≤109)l,r~(1 \leq l \leq r \leq 10^9)l,r (1≤l≤r≤109) ,求满足 r≥a≥b≥lr \ge a \ge b \ge lr≥a≥b≥l 的最大的 $a \mod{b} $ 。题解若 lll 足够小,那么 aaa 应该取 rrr , bbb 应该取 ⌊r+12⌋\lfloor \frac{r+1}{2} \rfloo

2021-08-27 22:06:53 1159

原创 Codeforces Round #732 div.2 A-E题解

div.2 视频讲解:TBDdiv.1 视频讲解:TBDdiv.2-A. AquaMoon and Two Arrays题目大意给定两个长度为 n(1≤n≤100)n(1 \leq n \leq 100)n(1≤n≤100) 的数组 a,b(0≤ai,bi≤100,∑ai≤100,∑bi≤100)a,b(0 \leq a_i,b_i \leq 100,\sum{a_i} \leq 100 ,\sum{b_i} \leq 100)a,b(0≤ai​,bi​≤100,∑ai​≤100,∑bi​≤100)

2021-07-16 02:47:23 332

原创 Codeforces Round #730 div.2 A-E题解

视频讲解:TBDA. Arithmetic Array题目大意题解参考代码B. Arithmetic Array题目大意题解参考代码C. Arithmetic Array题目大意题解参考代码D1+D2. RPD and Rap Sheet题目大意题解参考代码E. The Final Pursuit题目大意题解参考视频: 3Blue1Brown的 不可能的棋盘谜题参考代码...

2021-07-10 10:40:36 353

原创 Codeforces Round #729 div.2 A-E题解

视频讲解:TBDA. Odd Set题目大意给定 2n(1≤n≤100)2n(1 \leq n \leq 100)2n(1≤n≤100) 个可能重复的整数 ai(0≤ai≤100)a_i(0 \leq a_i \leq 100)ai​(0≤ai​≤100) ,问是否能将其分为 nnn 对,使得每对的两个整数之和为奇数。题解只有当每对内包含一个奇数加一个偶数时,才能使其总和为奇数。因此充要条件为奇数个数与偶数个数相等。参考代码#include <bits/stdc++.h>type

2021-07-05 05:34:06 808 6

原创 Codeforces Round#728 div.1+div.2题解

视频讲解:TBDA. Arithmetic Array题目大意题解参考代码A. Arithmetic Array题目大意题解参考代码A. Arithmetic Array题目大意题解参考代码D. Tree Array题目大意题解考虑一对逆序数对 (i,j)(i<j,ai>aj)(i,j)(i < j,a_i>a_j)(i,j)(i<j,ai​>aj​) 出现的概率 Pi,jP_{i,j}Pi,j​,则易得总期望 E=∑i=1n∑

2021-06-26 04:07:56 2754 8

原创 Codeforces Round #727 div.2 A-F题解

视频讲解:TBDA. Contest Start题目大意有 nnn 名选手参加比赛,第 iii 名选手的比赛在 (i−1)∗x(i-1)*x(i−1)∗x 时刻开始,持续 ttt 分钟后结束。每名选手的不满意度,等于其结束比赛时,其他开始了(或恰好开始)比赛但尚未结束的选手数量。求所有选手的不满意度总和。1≤n,x,t≤2⋅1091 \leq n,x,t \leq 2 \cdot 10^91≤n,x,t≤2⋅109题解若 t<xt < xt<x ,则每名选手的比赛时间不会重

2021-06-21 09:05:50 682 4

原创 Codeforces Round #726 div.2 A-F题解

视频讲解:TBDA. Arithmetic Array题目大意给定一个包含 nnn 个整数的数组 aaa ,求最少需要向数组 aaa 中添加多少个非负整数,使得数组的算术平均数恰好等于 111 。题解设 sum=∑i=1naisum=\sum_{i=1}^{n}{a_i}sum=∑i=1n​ai​ ,有以下两种情况:若 sum<nsum < nsum<n ,则再添加一个数值为 n−sum+1n-sum+1n−sum+1 的元素,即可成立;若 sum≥nsum \geq ns

2021-06-21 03:33:33 288

原创 Codeforces Round #724 div.2 A-F题解

视频讲解:TBDA. Omkar and Bad Story题目大意如果数组 bbb 中任意两个元素之差的绝对值 ∣bi−bj∣|b_i-b_j|∣bi​−bj​∣ 都在数组 bbb 中至少出现一次,则称数组 bbb 是好数组。给定一个包含 n(2≤n≤100)n(2 \leq n \leq 100)n(2≤n≤100) 的数组 a(−100≤ai≤100)a(-100 \leq a_i \leq 100)a(−100≤ai​≤100) ,问是否能向 aaa 中添加整数,使其变成一个不超过 3003

2021-06-08 02:43:06 827 1

原创 Educational Codeforces Round 110 div.2 A~F题解

A. Fair Playoff题目大意有 444 位选手参加比赛,第 iii 位选手的水平为 si(1≤si≤100)s_i(1 \leq s_i \leq 100)si​(1≤si​≤100) 且每位选手的水平不同。如果两位选手比赛,那么水平更高的选手会获胜。比赛采用以下赛制:第一位选手和第二位选手比赛第三位选手和第四位选手比赛上述两场比赛的胜者进行决赛如果是水平最高的两位选手在决赛相遇,则称比赛是公平的。请判断比赛是否公平。题解简单的模拟题,有多种方法可以实现:直接判断决赛的

2021-06-06 03:40:23 1411 4

原创 Codeforces Round #723 div.2 A-F题解

A. Mean Inequality题目大意给定一个包含 2n(1≤n≤25)2n(1 \leq n \leq 25)2n(1≤n≤25) 个不同的数的数组 aaa ,求数组 bbb 使其满足以下条件:bbb 是 aaa 的一种排列∀i∈[1,2n]\forall i \in [1,2n]∀i∈[1,2n] ,bi≠bi−1+bi+12b_i \neq \frac{b_{i-1}+b_{i+1}}{2}bi​​=2bi−1​+bi+1​​ ,其中 b0=b2nb_0=b_{2n}b0​=b2n​

2021-05-30 04:03:08 1043

原创 Codeforces Round#722 div.1+div.2题解

div.2-A. Eshag Loves Big Arrays题目大意给定序列 aaa ,每次可以选择其中一些数,删除其中大于这些数平均值的数,求最多可以删除多少数。题解每次选择最小的数 xxx 和其他任意大于 xxx 的数 yyy ,则必定可以删除 yyy。因此最后只剩下最小的数不会被删除。参考代码#include<bits/stdc++.h>using namespace std; const int MAXN=110;int a[MAXN]; int main()

2021-05-26 04:54:17 569 5

原创 Codeforces Round #721 div.2 A-E题解

A. And Then There Were K题目大意给定整数 n(1≤n≤109)n(1 \leq n \leq 10^9)n(1≤n≤109) ,求最大的整数 kkk ,使得n&(n−1)&(n−2)&(n−3)&...(k)=0n\&(n-1)\&(n-2)\&(n-3)\&...(k)=0n&(n−1)&(n−2)&(n−3)&...(k)=0题解一般遇到这种题,可以考虑打表找规律,然后发现小

2021-05-22 01:25:40 951 2

原创 Educational Codeforces Round 109 div2 A~F题解

A. Potion-making题目大意需要调配出精华浓度为 k%k\%k% 的药剂,每次可以添加 111 升水或 111 升精华,求最少需要添加几次。 kkk 为 [1,100][1,100][1,100] 范围内的整数。题解调配出精华浓度为 k%k\%k% 的药剂,即水与精华的比例 ab=100−kk\frac{a}{b}=\frac{100-k}{k}ba​=k100−k​ 。易得当 ab\frac{a}{b}ba​ 为最简分数,a+ba+ba+b 最小。即 a=100−kgcd(k,100

2021-05-17 21:59:09 483

原创 Codeforces #720 div2 A~E题解

A Nastia and nearly Good Numbers题目大意给定两个正整数 A,B(1≤A,B≤106)A,B(1 \leq A,B \leq 10^6)A,B(1≤A,B≤106) ,找出三个不同的正整数 x,y,zx,y,zx,y,z ,使得其满足以下两个条件:x,y,zx,y,zx,y,z中有且仅有一个数有一个能被 A⋅BA \cdot BA⋅B 整除,另外两个数能被 AAA 整除;x+y=zx+y=zx+y=z若能找到,则输出"YES"和任意解,若找不到,则输出"NO"。

2021-05-10 14:47:22 315

原创 2020牛客多校#3 J - Operating on the Tree 树形DP+组合数学

题目链接:https://ac.nowcoder.com/acm/contest/5668/J这题来是2014北京区域赛的原题。介绍的做法与官方题解不同,思想来自HDU大佬的题解。设dp_numi,jdp\_num_{i,j}dp_numi,j​表示以节点iii为根的子树内,根节点iii被第jjj位选取且对答案产生贡献的总方案数设dp_deli,jdp\_del_{i,j}dp_deli,j​表示以节点iii为根的子树内,根节点iii被第jjj位选取后,对其子节点的贡献影响(由于节点iii被选取了,

2020-07-23 19:28:10 225

原创 2020牛客多校#2 G - Greater and Greater 动态规划+bitset优化

题目链接:https://ac.nowcoder.com/acm/contest/5667/G  思路与官方题解相同,只是描述方式不同。  设dpi,jdp_{i,j}dpi,j​表示子序列[Ai,Ai+m−j][A_i,A_{i+m-j}][Ai​,Ai+m−j​]与子序列[Bj,Bm][B_j,B_m][Bj​,Bm​]是否匹配,即∀k∈[0,m−j],Ai+k≥Bj+k\forall k \in [0,m-j],A_{i+k}\ge B_{j+k}∀k∈[0,m−j],Ai+k​≥Bj+k​匹配

2020-07-17 01:17:04 245

原创 2019浙大校赛部分题解及代码

A#include<bits/stdc++.h>using namespace std;const int MAXN=100100;int a[MAXN],b[MAXN],a1[MAXN],b1[MAXN],a2[MAXN],b2[MAXN];int main(){ int T,i,j,p,q,ans,n,m,a1sum,a2sum,b1sum,b2sum; s...

2019-04-20 08:34:59 374

原创 牛客OI周赛8-提高组 A 用水填坑

95%的分很好拿,只要对每一个高度都跑一遍dfs/bfs就行了,但最后5%的分有难度。首先我们可以知道,最外面一圈的高度和蓄水量,是固定的。我们可以考虑从外圈向内圈进行反向搜索操作。用一个堆/优先队列作为搜索队列,维护已确定蓄水量的单元格中,高度+蓄水量最小的单元格。每次取出堆顶元素,其周围的单元格高度为。如果,必定可以将这个单元格填补到高度,总蓄水量增加,。如果,那说明这个单...

2019-04-18 18:30:04 208

原创 牛客OI周赛8-提高组 C 随机采矿

出题人绝对星际玩多了。设表示时刻拥有个SCV的概率,可以得到:那么时刻生产的晶体矿数量期望为:当数据量较小时,可以直接写两重循环处理。当数据较大时,需要用矩阵加速。其中,会发现会不断变化,而实际上,在时,最多只有种可能性,因此可以分段处理,将相同的情况视为同一段。若当前段的起始点为,则这一段的终点为,易证明当时,为定值。初始。#inc...

2019-04-18 06:34:44 164

原创 牛客OI周赛8-提高组 B 死宅选点

由于我们只要选取总权值最小的点,而当时,我们可以将该路径的权值,等价于进行考虑,对结果没有影响。即长度为m的路径,权值为。很容易得到,条与点距离为的路径,等价于条与点距离为的路径。在处理时,可以采取如此的合并拆分操作。设表示在点的子树中,与点距离为的路径数量。设表示在整棵树中,与点距离为的路径数量。可以通过以下转移式得到:可以通过以下转移式得到:,其中为的父节点...

2019-04-18 05:29:40 173

原创 HDU 6093 Rikka with Number

#includeusing namespace std;const int MAXN=5050;const long long mod=998244353;char ch[MAXN];double L[MAXN];int I[MAXN],A[MAXN],B[MAXN],C[MAXN],pd[MAXN];int x[MAXN],y[MAXN],lenx,leny;int len,l

2017-08-11 16:46:26 585

原创 HDU 1402 A * B Problem Plus

FFT#includeusing namespace std;const int MAXN=1<<18;const long long mod=998244353;const int G=3;long long rev[MAXN],w[2][MAXN];long long fac[MAXN],inv[MAXN];long long A[MAXN],B[MAXN];long lo

2017-08-07 15:03:09 280

原创 HDU 4609 3-idiots

FFT计算卷积#includeusing namespace std;const int MAXN=1<<18;const long long mod=998244353;const int G=3;long long rev[MAXN],w[2][MAXN];long long fac[MAXN],inv[MAXN];long long A[MAXN];long long

2017-08-06 16:24:01 277

原创 HDU 6061 RXD and functions

通过二项式,可以得出: bk=∑ni=0ci∗Cki∗biasn−ib_k=\sum_{i=0}^n{c_i*C_i^k*bias^{n-i}} bk=∑ni=0ci∗i!k!∗(i−k)!∗biasn−ib_k=\sum_{i=0}^n{c_i*\frac{i!}{k!*(i-k)!}*bias^{n-i}} k!∗bk=∑ni=0(ci∗i!)∗biasi−k(i−k)!k!*b_k=\s

2017-08-06 14:11:46 398 2

转载 51nod 1791 合法括号子段

分治每层,处理左端点在左区间,右端点在右区间的情况下是数量。其总和就是答案。#includeusing namespace std;const int MAXN=1100100;long long ans;char s[MAXN];int sum_l[MAXN],sum_r[MAXN],cnt[MAXN<<1],mn[MAXN],mx[MAXN];void merge(in

2017-07-31 15:08:16 256

原创 HDU 6041 I Curse Myself

由于每条边最多只在一个环上,因此可以将环上的边权值,构成一个集合。问题就变成了,从若干个集合中,每个集合取一个数,计算K大的总和。一次性考虑所有集合不太容易,可以将集合依次合并过去。那样复杂度就是O(KM)。#includeusing namespace std;const int MAXN=1010;const int MAXM=4020;struct Edge{ int

2017-07-26 14:53:17 882

原创 HDU 6040 Hints of sd0061

nth_element(arr,arr+x,arr+n);可以将x在[0,n]范围内,将第x小的数字移动到arr[x]上,其余比arr[x]大的,在x后面,比arr[x]小的,在x前面。#includeusing namespace std;const int MAXN=10001000;unsigned x,y,z,a[MAXN],b[110],ans[110],od[110];

2017-07-26 13:29:49 693

原创 HDU 6034 Balala Power!

贪心,注意前导0#includeusing namespace std;const long long mod=1e9+7;const int MAXN=102000;int arr[30][MAXN],b[30],nzero[30],mp[30];char str[MAXN];long long mxlen;bool cmp(int x,int y){ for(i

2017-07-26 12:33:40 223

原创 HDU 6033 Add More Zero

计算比2^m小的最大的10^k。#includeusing namespace std;int main(){ int m,ans,cas=1; while(~scanf("%d",&m)) { ans=m*log(2)/log(10); printf("Case #%d: %d\n",cas++,ans); }}

2017-07-26 12:31:00 199

空空如也

空空如也

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

TA关注的人

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