codeforces
文章平均质量分 66
Bzdhxs_nt
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #811 (Div. 3)
1原创 2022-08-04 04:07:32 · 189 阅读 · 0 评论 -
Codeforces Round #809 (Div. 2)
codeforces原创 2022-07-19 23:10:55 · 253 阅读 · 0 评论 -
Codeforces Round #804 (Div. 2)
vp原创 2022-07-12 15:33:17 · 113 阅读 · 0 评论 -
Codeforces Round #803 (Div. 2)vp
长度为 1 的数列中,有一个数是其他数 XORXORXOR 来, 问这个数是多少随便输出数列中的一个数就行B Rising Sand当 m = 1 时, 最大的数量就是 (n−1)/2(n-1)/2(n−1)/2;m > 1 时,最大数量就是原数列 too talltoo\ talltoo tall 的个数;C 3SUM Closure当正数个数或负数个数 >= 3 时,必定不符合条件,输出 no;当0的个数大于0时,最多有一正一负且即可,否则输出 no;故,满足条件的数组元素个数最多原创 2022-06-30 10:46:45 · 109 阅读 · 0 评论 -
H. Maximal AND
题目link思路知识点记录每一位111 的个数从高位到低位补 111 满 nnnvoid solve(){ int n,k; cin>>n>>k; vector<int> a(n+1); forr(i,1,n) cin>>a[i]; map<int,int> bit; forr(i,1,n){ for(int j = 0; j < 31;j++){原创 2022-04-22 15:23:49 · 453 阅读 · 0 评论 -
E. 2-Letter Strings
题目link思路对于一个字符串分别用a[],b[]a[],b[]a[],b[]来记录每个字符的个数,以及字符串的个数对答案的贡献就是 在这个字符串前面的 第一个字符的个数+第二个字符的个数−2∗字符串个数第一个字符的个数+第二个字符的个数-2*字符串个数第一个字符的个数+第二个字符的个数−2∗字符串个数因为字符串本身也会贡献两个字符的个数,所以减去 222 个int n;ll a[N],b[N],c[N][N];void so1ve(){ cin>>n; ll ans = 0;原创 2022-04-22 15:11:52 · 434 阅读 · 0 评论 -
D. Optimal Partition 线段树优化dp
题目link参考思路考虑 f[i]f[i]f[i] 为以iii结尾的最大价值 ,s[i]s[i]s[i] a[]a[ ]a[] 的前缀和数组那么容易想到 f[i]=max(f[i],f[j]+s[i]−s[j])j∈[0,i);f[i] = max(f[i],f[j] + s[i]-s[j]) j \in [0,i);f[i]=max(f[i],f[j]+s[i]−s[j])j∈[0,i);O(n2)O(n^2)O(n2) 的复杂度 考虑优化上式可转化为f[i]={f[j]−j+i,s[i原创 2022-04-20 12:42:08 · 603 阅读 · 3 评论 -
D. 388535
学习博客题目link关于异或性质a⨁a=0a \bigoplus a = 0a⨁a=0a!=ba !=ba!=b , a⨁x!=b⨁xa \bigoplus x != b \bigoplus xa⨁x!=b⨁x由于题目讲到 xxx一定存在,根据性质2 那么可知序列aaa中没有相同的元素那么我们可以考虑找到一个xxx使得 xxx异或序列aaa的最大值为RRR,最小值为LLL,因为没有两个元素相同那么xxx 异或序列 aaa 会得到[L,R][L,R][L,R]对于求异或最值很容易想到01原创 2022-03-29 23:04:03 · 332 阅读 · 0 评论 -
Codeforces Round #771 (Div. 2)
20220324A.Reverse找到首个不在自己位置的数翻转一下就可以了// Problem: A. Reverse// Contest: Codeforces - Codeforces Round #771 (Div. 2)// URL: https://codeforces.com/contest/1638/problem/A// Memory Limit: 256 MB// Time Limit: 1000 ms// // Powered by CP Editor (https:/原创 2022-03-24 10:02:48 · 391 阅读 · 0 评论 -
D. Madoka and the Best School in Russia (dp?)
题目link思路问题可以理解为:用 x 的beautiful因子,能否找到不少于2种的方案使得 x=a1∗a2..∗anx = a_1*a_2..*a_nx=a1∗a2..∗an 成立,仅顺序不同为一种方案类似于完全背包求方案数,用 xxx 的 beautifulbeautifulbeautiful 因子为状态进行dp这里考虑到 xxx 的范围到达 1e91e91e9,用xxx的因子排序后的下标来映射因子后面均用的是下标来进行转移;如何转移呢?用xxx的beautifulbeautif原创 2022-03-16 01:30:19 · 430 阅读 · 0 评论 -
Weight the Tree(树形dp)
题目Link题目学习link1题目学习link2题目学习link3%%% 受益匪浅!--------------------------------通过了解题意可知当 n = 2 时 为一种特殊情况,特判一下(样例温和捏~当 n > 2 时 当一个节点为good节点时,与其相连的节点一定为非good点这样模型就显现出来了 类似于link2中所讲树的最小点覆盖问题这里用 0 表示 该点不是good点 , 1 表示为good点且只有 0-0 , 0- 1 两种情况,dp即可求出最原创 2022-03-16 01:05:52 · 270 阅读 · 0 评论 -
Factorials and Powers of Two(暴力)
题目Link思路一个 “x=a+bx = a + bx=a+b” 的 问题考虑枚举看到2的幂次考虑到二进制显然一个数可以被2的幂次和构成答案最大为二进制表示下1的个数由于还存在阶乘,答案 ans 可能会小由于阶乘的增长很快,当n到达15时就超过了数据量1e12故可以通过二进制枚举有哪些阶乘被使用,用x减去这些阶乘再用二进制统计1的个数,求最小值;具体看代码qwqCode// Problem: C. Factorials and Powers of Two// Contest: C原创 2022-03-16 00:30:47 · 520 阅读 · 0 评论 -
D. Integral Array
题目大意给一个序列aaa,如果对任意 x<yx < yx<y 使得 xy{x}\over{y}yx 也在序列 aaa 中 则输出YES,否则NO思路考虑到 xy{x} \over {y}yx = k 那么 x 的取值范围为 [k∗y,(k+1)∗y)[k*y,(k+1)*y)[k∗y,(k+1)∗y),那么可以暴力枚举yyy以及其倍数kkk,利用xxx个数的前缀和来判断在xxx的取值范围内是否存在一个xxx,,若存在再判断kkk是否在序列中,不存在则输出 nonono,否则输原创 2022-03-14 20:35:53 · 339 阅读 · 3 评论 -
C. Weird Sum(数学推导)
题目大意求矩阵相同元素的曼哈顿距离和思路数学推导时间复杂度 O(n∗m)O(n*m)O(n∗m)// Problem: C. Weird Sum// Contest: Codeforces - Codeforces Round #775 (Div. 2, based on Moscow Open Olympiad in Informatics)// URL: https://codeforces.com/contest/1649/problem/C// Memory Limit: 256原创 2022-03-14 20:13:26 · 653 阅读 · 0 评论 -
C. Dima and Salad
Codeforces Round #214 (Div. 2)题目大意给出n种物品,每个物品取一件,每种物品有价值 a 和 重量 b ,问在满足∑ai/∑bi=k\sum{a_i} / \sum{b_i} = k∑ai/∑bi=k 的前提下,最大价值是多少?思路通关观察可以发现:01背包(完求最优解+每个物品取一次可以想到 01背包,但是如何满足条件限制呢?这里我们把限制转化一下可以得到∑ai−k∗∑bi=0\sum{a_i} -k*\sum{b_i} = 0∑ai−k∗∑bi=0这.原创 2022-01-03 11:05:36 · 59 阅读 · 0 评论 -
F. ATM and Students
Codeforces Round #756 (Div. 3)date:2021/11/28题意:求最大连续区间长度,使其和 >=−s>=-s>=−s;思路1.双指针重要的是双指针如何运动;code// Problem: F. ATM and Students// Contest: Codeforces - Codeforces Round #756 (Div. 3)// URL: https://codeforces.com/contest/1611/probl.原创 2021-11-29 01:03:01 · 407 阅读 · 0 评论 -
E1. Escape The Maze (easy version)
Codeforces Round #756 div3date:2021/11/28题目大意:在一棵有根无向树中玩游戏,位于根节点 1 的 vlad 能否避开朋友们的阻拦到达任意根节点;朋友们位于树上不同的结点上;阻拦:他们同时移动,若在同一顶点相遇,或先vlad到达他要到达的结点,即半路拦截;思路参考思路假设朋友所在的点为被tag的点;通过观察可以发现,存在一个叶子结点使得根节点到它的距离,小于所有tag结点到它的最小距离;那么就为 yes;另一种思路就是,对于根节点要经过的点比较.原创 2021-11-28 18:30:09 · 3434 阅读 · 1 评论 -
Divan and Kostomuksha
Codeforces Round #757 (Div. 2)date:2021/11/27题意:对给定的数组 aaa 进行重排使得:最大思路(参考此dalao_ORZ:这里我们来举例说明一下状态转移方程:当a[]={2,2,6}a[ ] = \{2,2,6\}a[]={2,2,6} 时;dp2=dp_2 =dp2= 2 + 2 + 2;当a[]={6,2,2}a[] = \{6,2,2\}a[]={6,2,2} 时 相当于 前 |s6s_6s6| 个 前缀gcdgcdgcd的贡献.原创 2021-11-27 15:12:46 · 431 阅读 · 0 评论 -
C. Covered Points Count
Educational Codeforces Round 46 (Rated for Div. 2)date:2021/11/16题目大意:给出n条线段,输出多少个点被1到n条线段覆盖;思路:暴力思考,对每个区间[l.r][l.r][l.r]+1,最后O(MAXr)O(MAX r)O(MAXr) 统计一下每个点被覆盖的情况,显然是会TLE的;观察发现相邻两个端点之间的点被同样多的线段覆盖(不包含右端点),那么我们可以用cntcntcnt 数组记录左端点 L 被多少个线段覆盖用以表示区间[L.原创 2021-11-16 20:32:07 · 86 阅读 · 0 评论 -
C. Mortal Kombat Tower
Educational Codeforces Round 95 (Rated for Div. 2)date:2021/11/15题目大意:也就是说:两个人A,B从左到右轮流取数(A先取),每次每个人可以选择取1或 2个,问A 最少取到1的个数;思路:一眼dp不会写qwq怎么个dp思路?状态方程 f[i][2]f[i][2]f[i][2] i 表示取到第几个数,0 表示 A取,1表示 B取因为这题是问A取得最小值,并不考虑B的情况,那么用f[][1] 来去存储 0的值;转移方程:.原创 2021-11-15 10:41:30 · 307 阅读 · 0 评论 -
D. Treelabeling
Codeforces Round #754 (Div. 2)date:2021/11/13题目大意:俩人玩游戏,Eikooc先走,可以在树上随意找一个点作为起点,然后轮流按以下规则走,规定v为当前点,u是下一个点:u 与 v 相邻u 未访问过u⊕v<=min(v,u)u⊕v <= min(v,u)u⊕v<=min(v,u)谁不能走谁输;问题是Eikooc 想为每个点重新标记(换值) ,使得第一轮他能选尽可能多的点,并且获胜;思路(参考这篇文章orz!:当 v与相.原创 2021-11-13 22:39:57 · 2971 阅读 · 0 评论 -
C - Orac and LCM
Codeforces Round #641 (Div. 2)2021/11/12题目大意:给一组数 a[n]a[n]a[n] ,求 gcd({lcm(ai,aj)∣i<j})gcd(\{lcm(a_i,a_j)|i < j\})gcd({lcm(ai,aj)∣i<j})思路:不失一般性,假设 a[n] = {a,b,c};那么考虑 i = a;则 gcd(lcm(a,b),lcm(a,c))=lcm(a,gcd(b,c))gcd(lcm(a,b),lcm(a,c)) .原创 2021-11-12 10:42:08 · 390 阅读 · 0 评论 -
「Codeforces」の bitmasks
Codeforces Round #751 (Div. 2)date:2021/11/09题目大意:规定一种摧毁数组a[n]a[n]a[n]的方式:选择 kkk 个数 下标为:i1,i2...iki_1,i_2...i_ki1,i2...ik求 x=ai1&ai2&ai3...&aikx = a_{i_1} \& a_{i_2}\&a_{i_3}...\&a_{i_k}x=ai1&ai2&ai3...&am.原创 2021-11-09 18:08:14 · 419 阅读 · 0 评论 -
C. Present
Codeforces Round #262 (Div. 2)date:2021/11/08题目大意:小海狸是一个初级程序员,所以信息学是他最喜欢的科目。很快他的信息学老师就要过生日了,海狸决定为她准备一份礼物。他在窗台上种了一排花,共n朵。开始等待它们长大。然而,过了一段时间,海狸发现花停止生长了。海狸认为赠送小花是不礼貌的。所以他决定想出一些解决办法。 离生日还有m天。第i朵花的高度(假设这一行花从左到右从1到n编号)此时等于ai。在剩下的几天里,海狸每天都要给相邻的w朵花浇水(一天只能浇一次).原创 2021-11-08 11:12:01 · 252 阅读 · 0 评论 -
B. AND 0, Sum Big
Codeforces Round #716 (Div. 2)date:2021/11/07题目大意:给定两个正整数 n 和 k ,有 n 个元素,求有多少个序列满足下列条件:1.序列中的所有元素都在[0,2k−1][0 , 2^k-1 ][0,2k−1] 之间。2.它的所有元素的与运算之和为 0 。3.它的元素之和是尽可能大的。答案对 10^9+710 9+7 取模。思路:不失一般性,设 n = 3 , k = 3;考虑集合元素位与为0,易知 k 代表集合内元素二进制下最多有 k.原创 2021-11-08 10:44:23 · 117 阅读 · 0 评论 -
D. Blue-Red Permutation
D. Blue-Red Permutationtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given an array of integers a of length n. The elements of the array can be either different or the same.Each element o原创 2021-11-05 11:40:46 · 302 阅读 · 0 评论 -
20210729-Codeforces Round #735 (Div. 2)
Contest:Codeforces Round #735 (Div. 2)Time:2021/07/30Rating:893 -> 1035. Thankful for my roomie !URL:https://codeforces.com/contest/1554Tutorial:https://codeforces.com/blog/entry/93321Form:补题;As a newbie, l will addoil !C. MikasaTutorial 大意:如.原创 2021-07-30 16:12:57 · 364 阅读 · 4 评论 -
Codeforces Round #719 (Div. 3) A B C D题
A.题双指针模拟/*@author:nttttttto->myself->add oil!*/#include<bits/stdc++.h>using namespace std;#define gcd __gcd#define _orz ios::sync_with_stdio(false)#define fi first#define se second#define lc i<<1#define rc i<<1|1#define原创 2021-06-10 17:19:45 · 73 阅读 · 0 评论 -
Codeforces Round #724 (Div. 2) B. Prinzessin der Verurteilung
题目大意:寻找字符串不存在的最小子串爆搜;学习搜索;AC code#include<bits/stdc++.h>using namespace std;int pre[30];set<string > str; set<string > ssr;void dfs(int step,int k) { if(step == k) { string t; for(int i = 0; i < k; i++) { t += char(转载 2021-06-07 11:13:43 · 279 阅读 · 0 评论 -
CodeForces-1213D2 Equalizing by Division (hard version)
思路: 题目中Don’t forget that it is possible to have ai=0 after some operations, thus the answer always exists.那么可以考虑用vector储存暴力枚举输入的数通过除2向下取整到0 ~ 2e^5的次数;然后对每种情况从小到大排序,再取出前k个的和进行比较;ACcode:/* author:nttttt; add oil!*/#include<iostream>#inc.原创 2021-05-17 19:23:01 · 106 阅读 · 0 评论 -
Gym - 103048G-Group QQ Speed(思维题)
思维题ACcode:/* author:nttttt; add oil!*/#include<iostream>#include<cstdio>#include<cstring>#include<queue>#include<algorithm>#include<stack>#include<string>#include<utility>#include<cmath>原创 2021-05-17 17:43:56 · 364 阅读 · 0 评论