自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 AtCoder ABC 043D

题目链接分析只需考虑两个相同字符的间距即可,若间距大于1,则不要前一个字符,这样只需O(n)O(n)O(n)复杂度即可解决。代码#include<bits/stdc++.h>#define ll long long#define pb push_back#define FULL(x,y) memset(x,y,sizeof(x))using namespace std;string s;int main() { cin>>s; int n,fl=0; n

2021-02-02 21:43:57 102

原创 洛谷 P1273 有线电视网

题目链接P1273 有线电视网分析有一定难度的树形dpdpdp,本质上是树上分组背包问题。对于树上任意一个非叶子节点的点xxx,考虑取其子树中jjj个叶子节点所能获得的最大利润,而这jjj个叶子节点可以从xxx的儿子节点取得。因此令dp[x][i][j]dp[x][i][j]dp[x][i][j]表示从节点xxx的前iii个儿子节点取jjj个用户所能获得的最大利润,那么答案为使dp[1][son[1]][j]≥0dp[1][son[1]][j] \ge 0dp[1][son[1]][j]≥0的最大的j

2020-12-22 22:22:42 61

原创 [NOI2001]炮兵阵地

题目链接[NOI2001]炮兵阵地分析此题是一道经典的状压dpdpdp,需要注意的是要考虑当前行的前两行的状态,因此需要开三维数组,令dp[i][j][k]dp[i][j][k]dp[i][j][k]表示枚举到第iii行时第i−1i-1i−1行和i−2i-2i−2行的二进制状态分别为jjj、kkk的最大摆放数,则有递推方程dp[i][j][k]=max⁡(dp[i][j][k],dp[i−1][k][l]+cnt)dp[i][j][k] = \max (dp[i][j][k],dp[i - 1][k]

2020-12-20 14:28:40 98

原创 Codeforces 1402A

题意给你nnn个矩形,从左到右排列,第iii个矩形的高和宽分别为hi{h_i}hi​和wi{w_i}wi​,计算其中包含的所有长方形的数量,对109+7{10^9+7}109+7取模。例如图1所示包含121212个长方形。 图1 分析首先一个宽度为www,高为hhh的矩形所包含的长方形的数量为Cw+12⋅Ch+12C_{w + 1}^2 \cdot C_{h + 1}^2Cw+12​⋅Ch+12​(可以看做w+1w + 1w+1和h+1h+1h+1个点中分别选择222个点构成长方形)。如果所有矩形

2020-12-17 21:38:49 122

原创 Codeforces 1442A

题意给你一个nnn长的正整数数组aaa,有两种操作,1.将前kkk个元素的值减111;2.将后kkk个元素的值减111,问是否能将数组变为全000数组。分析考虑将数组拆分成一个非递减数组和一个非递增数组,可以贪心地来构造。假设原数组为{c1,c2,…,cn}\left\{ {{c_1},{c_2}, \ldots ,{c_n}} \right\}{c1​,c2​,…,cn​},非递减数组为{a1,a2,…,an}\left\{ {{a_1},{a_2}, \ldots ,{a_n}} \right\}

2020-12-17 11:32:38 147

原创 Codeforces Global Round 12 A-D题解

A题意给你一个字符串aaa,重新排列其中的元素,使aaa中不包含"trygub"这个子序列。分析将aaa中包含的子序列中的666个字符倒排即可。代码#include<bits/stdc++.h>#define ll long long#define FULL(x,y) memset(x,y,sizeof(x))#define pb push_backusing namespace std; string str="bugyrt";int t,n;string s;

2020-12-16 15:43:55 193

原创 Codeforces Round #683 (Div. 2) A-D题解

A题意给你nnn包糖果,第iii包里面有iii颗糖果,第iii次操作可以选定其中一包糖果,将其余包的糖果数加iii,输出使所有包的糖果数相等的最少操作次数和每次操作的索引值。分析第iii次操作将除了选定包的糖果数加iii等价于将选定包的糖果数减去iii,因此第1次操作选1,第二次选2,…即可。代码#include<bits/stdc++.h>#define ll long long#define FULL(x,y) memset(x,y,sizeof(x))#define pb

2020-12-14 21:59:37 130

原创 Codeforces Round #682 (Div. 2) A-D题解

A题意给定一个nnn,构造一个长度为nnn的数组aaa,满足:1.aaa的任意子数组的和均能被其长度整除;2.1≤ai≤1001 \le {a_i} \le 1001≤ai​≤100。思路方法很多,直接输出长度为nnn的全1数组即可。代码#include<bits/stdc++.h>#define FULL(x,y) memset(x,y,sizeof(x))#define ll long long#define pb push_backusing namespace std

2020-12-13 20:52:17 73

空空如也

空空如也

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

TA关注的人

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