集训营专题

牛客寒假算法集训营第六场补题题解

网址:https://ac.nowcoder.com/acm/contest/9986 G机器人 知识点:状压dp+__int128 __int128精度比unsigned longlong 大,但是对于cin,cout,printf,scanf都不支持,输入输出模板如下: inline __int128 read(){//输入模板 __int128 x=0,f=1;char ch=getc

全国大学生数学建模竞赛【集训营E题】丨 近5年赛题实现,模拟参赛体验

在这个数据驱动、模型塑造未来的时代,数学建模不仅是学术研究的基石,更是解决复杂实际问题的金钥匙。      数学建模竞赛E题集训营技能强化要点:      1、基于Python的数学建模基础巩固      2、近5年E题赛题实现      3、模拟参赛体验与作品评审     全国大学生数据建模竞赛E题集训营特色:     1、打造个性化学习方案,助力提升个人竞争力 根据往年赛题特点设定整

【Nowcoder】2020牛客寒假集训营(第一场):maki和tree 思维

传送门 分析 我们先去把每一个相同颜色的联通快记录下来,然后去遍历每一个黑点,计算他连接的所有白点所在的联通块的大小,有两种情况 黑点就是端点 这种情况只需要答案加上白色联通快大小的和即可两个端点都是白点 任意两个联通快组合即可 代码 #pragma GCC optimize(3)#include <bits/stdc++.h>#define debug(x) cout<<#x<<"

【HDU】2021杭电暑假集训营(第一场):KD-Graph 思维 + 并查集

传送门 题意 n个顶点,给出m条边的信息。现在问是否存在一个最小的D值恰好使原图变为k个连通的部分。 若顶点p和q (p≠q)连通,则p和q之间最长边小于或等于D(不是总路径长度)。 若点p和q (p≠q)不连通,则p和q之间最长边不可能小于或者等于D。 分析 我们把所有点看成 n n n个连通块,然后去动态合并 把所有边按照边权排序,如果两个端点不在同一个连通块内,就进行合并,一直合并

【Nowcoder】2021牛客暑假集训营(第七场): xay loves trees 双指针 + 线段树 + 尺取

传送门 题意 给你两个树,求一个最大集合,要求集合内的任意两个点在第一个树上,比如是祖先关系,在第二棵树,不能存在祖先关系 分析 某人吐槽我的题解写的太简单了,然后我觉得。。。承认错误死不悔改 这道题如果分开来求的话,一个是求树的直径,一个是树上DP,都比较简单,如果当他们在一起应该怎么处理呢,我们考虑维护两个指针,因为在树上两点之间的路径肯定是维护,所以肯定是符合第一个条件的,这样我们就

【寒假集训营总结笔记——7道优质好题】

牛客寒假集训营总结笔记——7道优质好题 一、Trie树的应用: 题目链接:Tokitsukaze and Min-Max XOR 1、题意 2、题解 1、首先这道题的答案和元素本身的顺序是无关的,因为假如你选择了一些数字,它是默认必须排好序才能记作是答案,所以对于我们枚举的任意一组max和min,位于 m i n ≤ x ≤ m a x min \le x \le max

2022牛客寒假算法基础集训营4【解题报告】

戳我进入比赛 Problem A. R 题目大意 输入两个整数 n , k n,k n,k 和一个长度为 n n n 的字符串 s s s. 问字符串 s s s 中存在多少个子串满足该子串至少包含 k k k 个 ′ R ′ 'R' ′R′ 字符,且不包含 ′ P ′ 'P' ′P′ 字符. 1 ≤ n ≤ 2 × 1 0 5 , 1 ≤ k ≤ 20 , s [

2024牛客寒假算法基础集训营4补题

E:贪心+数据结构 首先,我们看一个例子: 114514,令k=3,我们从左开始,1,1,4,此时为3的倍数,那么我们就截断。 因为若我们在此截断,后面的5会对以后的数产生有利的影响(大不了忽略)。 因此,我们在从5开始,一旦发现有为3倍数的子区间就停,那么我们如何判断? 提供一个极为巧妙地方法,我们记录前缀和,然后mod3,如果加进来有两个值相等,因为sum是递增的,我们就可以判断

牛客寒假算法基础集训营6 B-煤气灶

上图所示的是题目给的样例,四天每天赚的钱 一开始想着这题遍历肯定超时,应该可以用二分,随后反应过来,直接解个方程不就好啦,F(x)≥m(F(x)为工作x天赚的钱) F(x)=(d/2)x2+(n-d/2)x 虽然很简单,,,,,,,,不过忘记考虑d=0的情况,WA得我。。。。。。。。。。。 #include<cmath>#include<iostream>using namespace

牛客寒假算法基础集训营3-处女座和小姐姐

需要考虑n为奇数和偶数两种情况 n为奇数: else: 小姐姐在右上角,“我”在左下角 #include<cstdio>void solve(){int n,m;scanf("%d%d",&n,&m); getchar();if(m%2!=0) printf("%d\n",m*n-2);else printf("%d\n",(m-1)*n-1);return;}int main(){i

2021牛客寒假算法基础集训营1(A B C D E F H I J)

比赛链接:这里 目录 OPA 串思路代码 B 括号思路代码 C 红和蓝思路代码 D 点一成零思路代码 E 三棱锥之刻思路代码 F 对答案一时爽思路代码 H 幂塔个位数的计算思路代码 I 限制不互素对的排列思路代码 J 一群小青蛙呱蹦呱蹦呱思路代码 ED OP 个人能力有限,有的题目实在知识点欠缺太多,可以参照一下其他大佬的全题解。 &感谢ph大佬的全程指导。

牛客集训营第三题 G,严肃古板的秩序

题目: 分析题目:首先由#运算及阿拉伯数字的数量级,我们很容易想到快速幂的板子,所以直接拿过来就可(注意取模板子的位置)然后我们就可遍历整个字符串,细节处理将等号前面的阿拉伯数字依次压入一个容器中,等号后面的阿拉伯数字赋值给ans作为答案输出比较,具体代码实现及注释下面演示 代码演示:  #include<bits/stdc++.h>typedef long long ll;ty

2024牛客寒假算法基础集训营1(补题)

文章目录 ABCDEFGHIJKL A n的范围很小暴力直接 O ( n 3 ) O(n^3) O(n3)直接做就行。 我还傻的统计了一下前后缀,不过怎么写都行这道题。 #include <bits/stdc++.h> #define int long long#define rep(i,a,b) for(int i = (a); i <= (b); ++i)#defin

2024牛客寒假算法基础集训营6

文章目录 A-宇宙的终结B-爱恨的纠葛C-心绪的解剖D-友谊的套路E-未来的预言F-命运的抉择I-时空的交织J-绝妙的平衡 A-宇宙的终结 用试除法分解质因数,判断是否刚好分解为三个不同的质数 #include<bits/stdc++.h>#define endl '\n'#define int long longusing namespace std;int l,r;

【持续更新】2024牛客寒假算法基础集训营4 题解 | JorbanS

A - 柠檬可乐 string solve() {int a, b, k; cin >> a >> b >> k;return a >= k * b ? "good" : "bad";} B - 左右互博 每次将一堆石子分成两堆,必然最后结果会多一个 1 1 1,因此只要看能多几个 1 1 1,即为可以操作的次数 string solve() {cin >> n;ll sum =

2024牛客寒假算法基础集训营2

C Tokitsukaze and Min-Max XOR 题目大意 给定一个数组从任取数构成序列序列满足,(可以只取一个数)问能构造出多少个 解题思路 定找双枚举时间复杂度到,考虑利用加速统计的方案,即将数字按二进制位拆分挂在树上对于一个数,它在树上经过的点,均加上它对答案的贡献所以树上的某一点存的信息为,以这个点的数位为分界,在它之前(包括它)均为某固定值,而在它后均为任意值的数对答案

2024牛客寒假算法基础集训营3

前言 感觉有些题是有难度,但是是我花时间想能想的出来的题目,总体来说做的很爽,题目也不错。个人总结了几个做题技巧,也算是提醒自己。 1.多分类讨论 2.从特殊到一般,便于找规律。例如有一组数,有奇数和偶数,那我们可以构造一组数据全是偶数,观察其规律,然后插入一个奇数,再观察其规律。 3.很多编程题都涉及到数学知识,可以根据题意列出公式,然后试着把这个公式变形,没准有惊喜。 简单题

牛客寒假算法基础集训营3-B-处女座的比赛资格(DAG上的最短路)

题目链接:https://ac.nowcoder.com/acm/contest/329/B 思路:首先这题可以用最短路来搞,只不过题目说行程不会形成环,也就是DAG图(有向无环图),spfa会超时,有负权值的边也不能用dijkstra,既然是DAG图那起点的入度必为0,我们可以用拓扑排序,去边的时候更新花费,然后判断两种花费情况即可。 AC代码1: #include <bits/stdc+

2020牛客寒假算法基础集训营3——G.牛牛的Link Power II【线段树】(画图详解)

题目传送门 题目描述 牛牛有一颗大小为 n n n 的神奇 L i n k − C u t Link-Cut Link−Cut 数组,数组上的每一个节点都有两种状态,一种为 l i n k link link 状态,另一种为cut状态。数组上任意一对处于link状态的无序点对(即(u,v)和(v,u)被认为是同一对)会产生dis(u,v)的link能量,dis(u,v)为数组上u到v

2024牛客寒假算法基础集训营1——H

输入 34 111 81 41 51 14 115 81 41 51 14 02 00 03 04 1 输出 365 思路: 考虑二进制,有点像数位dp 本题考虑集合划分,累加最大值即可 代码如下: #include<bits/stdc++.h>using namespace std;void solve(){int n, m; c

2024牛客寒假算法基础集训营1(视频讲解全部题目)

2024牛客寒假算法基础集训营1(题目全解) ABCDEFGHIJKLM 2024牛客寒假算法基础集训营1(视频讲解全部题目) A #include<bits/stdc++.h>#define endl '\n'#define deb(x) cout << #x << " = " << x << '\n';#define INF 0x3f3f3f3fusing nam

2021牛客寒假集训营4

B.武辰延的字符串 思路: 比赛的时候一直想着要用到kmp,其实并不需要。题目要我们求的其实就是t i+j = s i+s j。那么只要枚举s和t的所有相同前缀,然后二分查找 t - si ,找到能匹配上s的前缀 sj 的最大长度,计入答案即可。 具体算法就是哈希和二分: 哈希能够快速O(1)判断两个子串是否匹配 二分是因为我们在找到某个前缀匹配时,前缀的前缀也一定匹配,所以可以二

2024牛客寒假算法基础集训营1部分题解

// 能力有限,做多少发多少。 A-DFS搜索 题目描述  最近,fried-chicken完全学明白了DFS搜索(如上图所示)!于是学弟向他请教DFS搜索,fried-chicken热心的进行了讲解: 所谓DFS搜索,就是给定一个字符串�s,问能否找到�s的一个子序列,使得该子序列的值为 DFS 或 dfs。 请你分别判断字符串�s中是否含有 DFS 子序列与 dfs 子

【持续更新】2024牛客寒假算法基础集训营1题解 | JorbanS

文章目录 [A - DFS搜索](https://ac.nowcoder.com/acm/contest/67741/A)[B - 关鸡](https://ac.nowcoder.com/acm/contest/67741/B)[C - 按闹分配](https://ac.nowcoder.com/acm/contest/67741/C)[E - 本题又主要考察了贪心](https://ac.

亚威ccie网上课堂 网上集训营 介绍

CCIE网上课堂如果您想对网络有深入的了解,或想成为IT行业的成员,请参加我们的 CCIE培训, 在这里您将学习到多个节点的大型企业网络安装、配置的知识! 时间:6天(5天授课,1天答疑)培训价:¥5400.00特惠价:¥4800.00 CCIE网上集训营 类别: 路由交换       时间: 3个月 培训价: ¥9800.00 安全         时间: 4个月 培训

【思特奇杯·云上蓝桥-算法集训营】节营作业

第十一届蓝桥杯大赛软件类省赛第二场C/C++大学B组 问题描述:(简单) 答案:624 #include <iostream>using namespace std;int main() {int ans = 0;for(int i=1;i<=2020;i++) {int temp=i;while(temp) {if(temp%10==2) ans++;temp/=10;}