首页 > TAG信息列表 > 练习赛
牛客练习赛102 B-C
B 清楚姐姐带带我 当数大于 1e9的时候就取模 //#define int ll const int N = 1e5+10,mod = 19980829; int n,m; void solve() { ll res = 0; bool flag = false; int n; cin >> n; for(int i = 1 ; i <= n ; i ++) { ll a, b; cin「闲话」NOI2022 游记
NOI2022 游记 Day -7 坐了 12h 去往昆山。 白天不知道该干什么,早上就颓过去了,下午理了一下需要复习的内容(真的好多啊)。 不知道说什么了,还是记录一下沿途的风景吧: 午觉睡醒,恰好经过一块广袤的平原,数十座风力发电机如同顶天立地的巨人,在平原上稀疏矗立着,安静地旋转。对了,原来风扇柱牛客练习赛73D 离别
https://ac.nowcoder.com/acm/contest/9033/D 分析:这种类型的题目做法很固定 首先离线 设当前点为i 若以i为右端点 则合法的左端点一定是连续的一段 设为[l,r] 这个可以预处理出来 预处理的时候要注意 不能只考虑i的颜色 一定要和之前的颜色取max 询问的时候 区间修改区间求和 从CF1554C 和牛客练习赛101C(问题转化,按位贪心)
CF1554C 和牛客练习赛101C(问题转化,按位贪心) 写了两道和位运算不等式有关的贪心题,发现思路非常一样就放一起了。 牛客练习赛C 题意 给一个严格递增的序列 \(a\)。 求一个最小的 \(x\) 使得对所有的序列元素做一遍按位与后仍然严格递增。 思路 考虑贪心,为了使答案尽可能小,从高位往低牛客练习赛101——B题 荒神在此
题目描述 给出一个数字 nnn ,求有多少个长度为 nnn 的序列 aaa (下标为 1∼n1\sim n1∼n )。要求满足 对于所有 i∈[1,n] ,0≤ai≤i。 ∑i=1n i×ai 是一个奇数。 因为答案可能很大,所以你需要输出答案对 998244353 取模。 输入描述: 第一行给出一个正整数牛客练习赛64D 宝石装箱
题目大意 \(n\) 颗宝石装进 \(n\) 个箱子使得每个箱子中都有一颗宝石,第 \(i\) 颗宝石不能装入第 \(a_i\) 个箱子,求合法的装箱方案数对 \(\textbf{998244353}\) 取模。 两种装箱方案不同当且仅当两种方案中存在一颗编号相同的宝石装在不同编号的箱子中。\(1\le a_i\le n\le 8000\)牛客练习赛100
牛客练习赛100 https://ac.nowcoder.com/acm/contest/11251 简要地写一下 A-E 的解答。 A-D 为了减少篇幅没有放头文件等东西,可以到 E 题去取。 A 范围不大,直接枚举来找即可。 int main(){ int a, b, n; cin>>a>>b>>n; for(int i=0; ; i++){ int t=n-a*i;牛客-牛客练习赛100B 小红的子序列
小红的子序列 今日无事,勾栏.. 今天心血来潮打了一下牛客,发现了一道有趣的题 dp 大概就是把 颜色 和 奇偶 分成两个状态:当前位置是否是奇数,当前颜色是否是红色,类似于状态压缩一样压一下,然后 dp 不断维护最大值就好 状态转移就是从将当前状态 取反 转移过来就好 #include <iostream>wxy 3.31 牛客练习赛60重现
v> wxy 3.31 牛客练习赛60重现 5075 A 看到位运算,可以往二进制方面去想,可以把1-n所有的的每位放到相应的位置上,然后遍历所有的 数,每次都把他拆分成二进制和刚刚统计的那些数的每位进行与运算 C DP 设dp[ i ] [ j ]表示前i个,长度为j的本质不同的子序列有多少,那么dp[ i ] [ j ]=dp[wxy 4.12 牛客练习赛61 重现
v> wxy 4.12 牛客练习赛61 重现 5317 A 签到题 对于特殊情况的判断条件要考虑全面,且如果有除的情况的话要考虑是否有浮点储物的可能。 签到题如果wa了的话,不要太care,不要影响心情。 B 猜中结论顺利A题,这种题一般就是快速找到结论,然后小心求证是否需要分类讨论,赛后再去求证结 论的wxy 3.30 牛客练习赛59重现
v> 5062 C 赛时解法 直接线性规划啊,2 * a+4 * b<=x和 3*a+b<=y 相加就是 ( a+b ) <=(x+y)/5 x->x-x%2,应为a,b一定是正 整数,所以考虑交点不在第一象限的情况, b或者a/2 # include <bits/stdc++.h> using namespace std; typedef long long LL; int main() { int T; scanf("%d",&T)wxy 3.10 牛客练习赛56 重现
v> wxy 3.10 牛客练习赛56 重现 4841 B 考虑一条边,从左边过去和从右边过来经过的分别为两个子树的大小和人数乘积的和的两倍,想到有点 类似于换根DP和树形DP,但是LL要和lld相匹配要注意。 C 朴素做法是n^2*k的,考虑到转移的时候是前缀和,前缀和==区间和,想到树状数组,f [ q ] [ j ] ,到q牛客练习赛95
比赛链接: https://ac.nowcoder.com/acm/contest/11185 A.Duplicate Strings 思路: 统计的是字母的数量,先存下字符串每个字母的数量,操作 1 就是将现有字母的数量乘上 \(k + 1\),操作 2 输出 \(c\) 的数量。 代码: #include <bits/stdc++.h> using namespace std; const int N = 30, mo牛客练习赛96
比赛链接: https://ac.nowcoder.com/acm/contest/11186 A.小y的平面 思路: 因为只能向右或者向上走,所以能走的下一个点只能在右上。 依据 x + y 的值对点进行一个排序(我没排序也过了,数据有点水),然后循环判断就可以了。 代码: #include <bits/stdc++.h> using namespace std; #define a牛客练习赛96(未完工)
A.小y的平面 签到题,存点然后排序。一定满足 Xi<=Xi+1且Yi<=Yi+1。若不满足直接输出No,否则输出Yes。 #include<bits/stdc++.h> using namespace std; struct node { int x,y; }t[1000006]; bool cmp(node a,node b) { if(a.x==b.x) return a.y<b.y; return牛客练习赛96 ABC
A.平面上有n个点,初始小y在(0,0),每次可以选择从(x,y)走到(x+1,y)或者(x,y+1),求他能否走出一条经过所有n个点的路径 按x排序,检查y是否递增即可 #include <bits/stdc++.h> using namespace std; pair<int, int> a[1000010]; int main() { int n; cin >> n; for (int i =B-小y的树_牛客练习赛96
B-小y的树_牛客练习赛96 题目大意: 一颗高度为n的k叉树,求任意两点的距离和。 思路和代码: 牛客的题还是难啊 以三层三叉树为例 先算出根节点到其他所有节点的距离和。(上图红色) 首先要注意,同一层的节点到其他所有点的距离和是相同的。我们只要算出每一层的权值即可。如上图,我们牛客练习赛50
A. tokitsukaze and Connection 题目链接 题意:给你一个全由小写字母构成的字符串,判断这个字符串中的同种字母是不是全部连在一起; 思路:直接暴力for一遍,从第二个字母开始,判断当前字母有没有出现过,如果出现过并且与前面那个字母不同,则同种字母不是全部连在一起的 #include <bits牛客练习赛95 A~E
牛客练习赛95 A~E A:Duplicate Strings 给你一个字符串,有两个操作: 把这个复制复制若干次接在后面,或者输出一个字符在这个串中的出现次数。 思路 可以一开始直接记录每个字符的出现次数,然后每操作一遍每个的出现次数就乘上 x个人练习赛1补题
链接: link. Atomic Energy 题意: 有 n n n个原子,每个原子都会爆炸产生能量,原子含有的中子数为 k (牛客练习赛95Dgcd 题解(整除分块)
题目链接 题目思路 其实是一个整除分块的简单题,稍微思考就能写出来 代码 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #include<queue> #define fi first #define se second #define pii pair<int,int> #define debug cout<<&quo牛客练习赛95 C. Division(差分/贪心/双指针)
链接:https://ac.nowcoder.com/acm/contest/11185/C 来源:牛客网 题目描述 给出一个正整数序列 [a1…an][a1…an] 以及定值 kk,每次可以选择一个区间 [l,r] (r−l+1≥k)[l,r] (r−l+1≥k),把这个区间内的 aiai 除以二下取整。是否可能通过一些操作,把所有 aiai 变成 11? 若能,求出一种操牛客练习赛3
题目链接: https://www.nowcoder.com/acm/contest/13#question A.反蝴蝶效应 #include<cstdio> #include<algorithm> #include<iostream> using namespace std; const int maxn=100005; int n; int a[maxn]; int main(){ cin>>n; int ans=0; for(in第四届传智杯练习赛题解(c++)
共五个题,难度一般。 目录 符合条件的数 选代表 成绩统计 背答案 击鼓传花 符合条件的数 题目描述: 给出 N 和 k,找到一个不小于 N的正整数,满足这个数中有 k位数字是 3,且尽可能小。 输入格式: 一行,两个整数 N(1 < =N<=10^9) 和k(1≤k≤6)。 输出格式: 输出一个数字表示答案。1115练习赛总结
看来还是一如既往的菜呢。 T1简单题。 T2这种题没怎么见过,以后需要更多去发现题目性质,大胆爆搜+优化。 T3,要学会“对症下药”,对着数据想一些合适的算法,看到20,不是容斥就是状压。 今天这场比赛“二选一”的计数较多,是我的薄弱项目,只有多见一点,多想一点,才有提高的可能。