2021年度训练联盟热身训练赛第四场 C.Game Map【拓扑排序、dp】

UGNX编程模板与刀具库构建实战:从标准化到效率倍增 在数控编程与计算机辅助制造(CAM)领域,标准化和参数化管理是提升工程效率与工艺一致性的核心原理。通过构建可复用的知识库和工作流,能够将离散的操作转化为系统化的资产,其技术价值在于显著减少重复劳动、规避人为错误,并实现工艺知识的有效沉淀与传承。这一理念在UGNX、ArtCAM等主流CAM软件中均有广泛应用,尤其在处理复杂刀具路径和多轴加工场景时,标准化的刀具库与编程模板成为确保加工安全性与程序质量的关键。本文聚焦于UGNX平台,深入探讨如何从零开始,系统化地设计与构建一套集成了最佳实践参数、防撞刀设置及多轴 阅读详情

Link

拓扑排序 / dp

前置

priority_queue与sort恰好相反,若重载小于符号,则sort表从小到大,而priority_queue表从大到小,反之亦然。

struct po{
	int ru,pos;
	friend bool operator <(struct po a,struct po b){
		return a.ru>b.ru;	//对于优先队列来说表从小到大,与sort正好相反
	}
};
priority_queue<struct po> q;

题意

给定一张无向图,求一组点,使得两个相邻的点在图中邻接且该组点的入度(出度)呈严格递增,要使点的数量尽可能多,问该组点的数量最多是多少?

分析

  1. 所选的点必须在图中邻接,且使入度(出度)递增,则只要算出每个点的入度,进行dp即可
  2. 转移方程:
    i f ( r u [ u ] < r u [ v ] ) if (ru[u]<ru[v]) if(ru[u]<ru[v])
    d p [ u ] = m a x ( d p [ u ] , d p [ v ] + 1 ) dp[u]=max(dp[u],dp[v]+1) dp[u]=max(dp[u],dp[v]+1)
  3. 由于从权值小的向权值大的转移,故需先更新权值小的,再更新权值大的,故考虑拓扑排序

Code

#include<bits/stdc++.h>
using namespace std;
const int maxn=3e5+5;
const int mod=998244353;
const long long inf=1e18;
const int base=131;
const double pi=3.1415926;
#define ll long long
#define int long long
#define ull unsigned long long
#define maxx(a,b) (a>b?a:b)
#define minx(a,b) (a<b?a:b)
#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define debug(...) fprintf(stderr, __VA_ARGS__)
inline ll qpow(ll base, ll n) { assert(n >= 0); ll res = 1; while (n) { if (n & 1) res = res * base % mod; base = base * base % mod; n >>= 1; } return res; }
ll gcd(ll a,ll b) {return b==0?a:gcd(b,a%b);}
ll lcm(ll a,ll b) { return a*b/gcd(a,b); }
ll inv(ll a) {return a == 1 ? 1 : (ll)(mod - mod / a) * inv(mod % a) % mod;}
ll C(ll n,ll m){if (m>n) return 0;ll ans = 1;for (int i = 1; i <= m; ++i) ans=ans*inv(i)%mod*(n-i+1)%mod;return ans%mod;}
ll A(ll n,ll m){ll sum=1; for(int i=n;i>=n-m+1;i--) sum=(sum*i)%mod; return sum%mod;}
ll GetSum(ll L, ll R) {return (R - L + 1ll) * (L + R) / 2ll;} //等差数列求和 
 
/************/
int n,m,ru[maxn],dp[maxn],ans;
vector<int> ve[maxn];
struct po{
	int ru,pos;
	friend bool operator <(struct po a,struct po b){
		return a.ru>b.ru;
	}
};
priority_queue<struct po> q;
signed main()
{
	IOS;
	cin>>n>>m;
	for(int i=0;i<m;i++){
		int u,v;
		cin>>u>>v;
		ve[u].push_back(v);
		ve[v].push_back(u);
		ru[u]++;
		ru[v]++;
	}
	for(int i=0;i<n;i++){
		struct po a;
		a.ru=ru[i];
		a.pos=i;
		q.push(a);
	}
	while(!q.empty()){
		int u=q.top().pos;
		q.pop();
		int len=ve[u].size();
		for(int i=0;i<len;i++){
			int v=ve[u][i];
			if(ru[u]>ru[v]) dp[u]=max(dp[u],dp[v]+1);
		}
		ans=max(ans,dp[u]);
	}
	cout<<ans+1;
	return 0;
}
【2021年度训练联盟热身训练赛第四场】Game Map(python C++) #include <bits/stdc++.h> #include <vector> #define ll long long using namespace std; int n,m,vis[100010]; vector<int> p[100010]; int dfs(int u) { if(!vis[u]) { vis[u]=1; for(int i=0;i<p[u].size();i++) { 阅读详情

相关推荐

【2021年度训练联盟热身训练赛第三场】Circuit Math(python)

import math import cmath import sys import string import heapq import bisect import copy from queue import Queue, PriorityQueue, LifoQueue from collections import Counter, deque from itertools import permutations, combinations from functools import cmp_to_

NJU phd 在读。 760

C - Game Map Gym - 101667C(dp)

The ICPC-World is the most popular RPG game for ACM-ICPC contestants, whose objective is to conquer the world. A map of the game consists of several cities. There is at most one road between a pair of...

tomjobs的博客 566

【2021年度训练联盟热身训练赛第四场】Happy Number(python)

import math import cmath import sys import string import heapq import bisect import copy from queue import Queue,PriorityQueue,LifoQueue from collections import Counter,deque from itertools import permutations,combinations from functools import cmp_to_key,

NJU phd 在读。 623

2021年度训练联盟热身训练赛第四场Game Map DFS

#include<bits/stdc++.h> using namespace std; typedef long long ll; const ll maxn = 1e6 + 5; const ll MOD = 1e9 + 7; const ll INF = 0x7fffffff; vector<int> g[maxn]; int ans[maxn]; int dfs(int u) { if (ans[u])return ans[u]; ans[u] = 1;

weach的博客 327

两相交错并联BuckBoost变换器仿真模型(Simulink仿真实现)

内容概要:本文档系统整合了电力电子与新能源领域的Simulink仿真资源,聚焦于两相交错并联Buck-Boost变换器的双闭环PWM控制建模与仿真,同时涵盖多种典型拓扑结构,包括交错并联Boost、PFC功率因数校正、LLC谐振变换器、双向CLLC、DAB变换器、VIENNA整流器等。资源体系完整,包含仿真模型、设计报告、计算书、PPT说明文档及Matlab/Python代码,覆盖从基础建模到高级控制策略(如软开关技术、谐波抑制、状态估计、双闭环控制)的全流程。此外,还拓展至状态估计(卡尔曼滤波、粒子滤波)、智能优化算法、机器学习、信号处理、路径规划等多个交叉学科方向,构建了一个面向科研与工程应用的综合性技术平台。; 适合人群:电气工程、自动化、电力电子、新能源科学与工程等专业的硕士博士研究生、高校科研人员,以及从事新能源发电、智能电网、电动汽车、电力传动等领域技术研发的工程师。; 使用场景及目标:①开展电力电子变换器(如Buck-Boost、LLC、DAB、PFC等)的建模、控制与仿真研究;②支撑课程设计、学位论文、科研项目中的系统仿真与算法验证;③学习并复现高水平期刊(如EI)提出的先进控制策略,如基于KKT条件的最优控制、扩展移相调制、恒压恒流双环竞争控制等;④结合智能算法(如粒子群、秃鹰算法)进行微电网调度、储能配置、路径规划等多目标优化问题的研究与快速原型开发。; 阅读建议:建议依据提供的资源目录循序渐进地查阅资料,优先选取与自身研究方向高度契合的内容进行深入学习;应结合仿真模型与配套文档动手实践,调试参数并分析结果,充分利用百度网盘与公众号渠道获取完整资源,提升科研工作的系统性、规范性与创新性。

RealSense D455启动教程

RealSense D455启动教程 修改rs_camera.launch

每天进步一点点 2417

Gym - 101667C—Game Map (dp)

题目链接: https://odzkskevi.qnssl.com/6fd8c99567698f4bad5a228cc982bad7?v=1535352582 题意: 攻打城市,每次只能走相邻且度数更大的城市,问最多攻打多少。 思路: 看代码吧 #include &lt;vector&gt; #include &lt;cstdio&gt; #include &lt;cstring&g...

刘二狗的博客 513

从零打造音乐会级特雷门琴:原理、设计与调试全解析

电子乐器的工作原理通常基于信号生成与调制。特雷门琴作为世界上最早的电子乐器之一,其核心原理是利用射频振荡器和电容传感,将演奏者的手势变化转化为音高与音量信号。这种技术通过外差式混频实现音高控制,并利用压控放大器实现细腻的音量动态,其工程价值在于将抽象的空间位置信息精确映射为连续的音频参数。在音乐制作、声音艺术和交互装置等领域,这类技术为创造独特的演奏体验提供了基础。本文聚焦于如何从电路层面实现一台高稳定性的特雷门琴,详细阐述了从LC振荡器设计、天线场形优化到音色混合检波等关键环节,并分享了基于LTspice

weixin_34046298的博客 170

Problem C Game Map (dfs+剪枝)

题目链接 题目大意:让你找一条路,使得这条路上的点的度,严格递增,问你能找到路的最大长度。 例如第一个样例的路为:2 5 4 1,长度为4 2 5 4 1的度分别为2 3 4 5(严格递增) 解题思路:dfs搜索+剪枝,不剪枝的话会超时(亲身经历) ac代码: #include <bits/stdc++.h> using namespace std; vector<int>e[100010]; int ans[100010]; int dfs(int u) { in

qq_34035720的博客 211

行列式详解:从定义到应用

本文系统介绍了行列式的核心概念和应用。首先从二阶、三阶行列式入手,逐步扩展到n阶行列式的定义,讲解了余子式和代数余子式的概念。其次,详细阐述了行列式的重要性质,包括转置不变性、行列交换变号等基本性质以及乘积性质等推论。在计算方法方面,介绍了按行展开法、化上三角矩阵法等实用技巧,并列举了特殊行列式的计算案例。最后重点讨论了行列式在克拉默法则、矩阵可逆性判断、几何体积计算及线性相关性判断等领域的应用。文章强调理解行列式的几何意义和灵活运用性质的重要性,并给出了学习建议和常见误区提示。行列式作为连接代数与几何的桥

aichitang2024的博客 3034

手把手教你安装 Vivado2022.2(附安装包)

Vivado 2022.2版本与之前的版本相比,具有以下几个显著的优势:电源设计管理器(PDM):Vivado 2022.2引入了全新的电源设计管理器(PDM),这是一个下一代功耗评估平台,为Versal® 和 Kria™ SOM提供了准确一致的功耗估计能力。PDM是Versal产品家族的首选功耗评估工具,为Versal ACAP硬IP块提供增强向导,简化从XPE向PDM的迁移,帮助用户获得准确的功耗评估。

dpwkj的博客 2万+

2021年度训练联盟热身训练赛第四场 I.Slot Machines【KMP】

Link KMP 题意 给定n个数字,令k为该组数组产生循环的下标(即从k~n都循环),p为循环节的长度,要使k+p最小,求(k,p),若有多组求p最小的那组 分析 将数字抽象为字符串 令S为原串的最小循环节,则原串的形式应为 XSSS...SSSxXSSS...SSS_xXSSS...SSSx​ 其中XXX表多余的字符串,SxS_xSx​表SSS的前缀 进一步分析 令SyS_ySy​为SSS的后缀 设原串为:XSSSSxXSSSS_xXSSSSx​ 即:XSxSySxSySxSySxXS_xS_yS_x

while_you的博客 1436

【PCIe硬件】PCIe引脚PRSNT与热插拔

热插拔的基本目的是要让PCIe设备按照规定的顺序、原则,从系统中移除或插入到系统中来,并能正常的工作,且不影响系统的正常运行。事实上,PCIe“热插拔”的关键目的就是为前面面所提到的系统RAS服务的,是提升系统RAS能力的非常重要的手段!注意,这里有两个相关概念,前面我们讲的热插拔,其实是广义的“热插拔”。这里的Hot-Plug,为了方便,我们叫做PCIe热插拔,也就是我们现在及后面将要讨论的内容。

smartvxworks的博客 2804

2021年度训练联盟热身训练赛第四场补题

2021年度训练联盟热身训练赛第四场补题B:Connect3【题目描述】【输入描述】【输出描述】【示例1】【示例2】 总的来说,这场比赛对于我来说,实在是有点难。补题的时候,不能全补,所以那些实在不会的先空起来啦,链接放在下方,等有能力并且想起来的时候,回来再补吧。 链接如下:link——点我看比赛 B:Connect3 【题目描述】 【输入描述】 【输出描述】 【示例1】 输入 复制 2 2 3 输出 复制 516 【示例2】 输入 复制 3 4 4 输出 复制 177 ...

shall_zhao的博客 721

AutoSAR系列讲解 - 资料下载

学习资料下载汇总

雪云飞星的博客 4万+

自然语言处理6 -- 情感分析

1 概述 情感分析是自然语言处理中常见的场景,比如淘宝商品评价,饿了么外卖评价等,对于指导产品更新迭代具有关键性作用。通过情感分析,可以挖掘产品在各个维度的优劣,从而明确如何改进产品。比如对外卖评价,可以分析菜品口味、送达时间、送餐态度、菜品丰富度等多个维度的用户情感指数,从而从各个维度上改进外卖服务。 情感分析可以采用基于情感词典的传统方法,也可以采用基于深度学习的方法,下面详细讲解 ...

谢杨易的博客 5万+

练习赛补题-----C - Game Map dp

题意:给定一个图,在图上要求找一个最长链,使得后面一个点的度数比前一个点的度数大,问最长的长度是多少? 可以利用拓扑排序的方式进行dp,首先更新dp值全为1,然后遍历度数,每次找出最小的度数,更新完dp之后,删去这些点,再找最小的度数。。。。,最后的最大的dp值就是答案。 dp[i]代表到i点的最长的链的长度 #include<bits/stdc++.h> using namespac...

qq_36386435的博客 240

3、利用预训练卷积神经网络进行特征提取

本文介绍了如何使用预训练的卷积神经网络(如VGG16)进行图像特征提取,并将提取的特征存储在HDF5数据集中,以便后续用于机器学习模型的训练。文章详细阐述了特征提取的原理、HDF5数据格式的优势、HDF5DatasetWriter类的实现、特征提取流程的代码实现以及实际应用案例。通过该方法,可以在多种图像数据集上高效构建高精度的分类模型。

z2a3b4c5d的博客 112

2021年度训练联盟热身训练赛第四场,签到题CDF

概述 题号 标题 已通过代码 通过率 团队的状态 A Broadcast Stations 点击查看 17/55 未通过 B Connect3 点击查看 167/234 未通过 C Game Map 点击查看 645/2356 通过(图论爆搜) D Happy Number 点击查看 1177/1908 通过(数字枚举) E How Many to Be Happy? 点击查看 19/103 未通过 F Philosopher‘s Walk 点击查看 433/1283 通过(分形图或模拟) G Rec

小哈里的博客 893

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

2021年度训练联盟热身训练赛第三场(IJ)

I.Slow Leak(最短路) 传送门 题意:你有一辆轮胎会跑气的自行车,打满一次气可以走的距离是d,一开始自行车的气是满的,城市中有 n 个点,你要从1点到 n 点,其中有 t 个点处可以给自行车打气,你只能在自行车有气的时候走,问从1到 n 的最短路 思路:先跑一遍floyd求出每两点之间的最短路,然后重新构图,两个打气点之间的最短路 <= d时说明可以到达,否则不可以,然后再floyd || dijkstra求1到 n 的最短路。 #include <bits/stdc++..

。 306

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

2021年度训练联盟热身训练赛第一场 G. Birthday Paradox(生日问题,组合推公式,概率)

题意: mmm个人过生日,然后出现了nnn个不同的生日组,第一组有a1a_1a1​个人,第二组有a2a_2a2​个人…第nnn组有ana_nan​个人。求这种情况出现的概率。 思路: 就是推公式概率题。 总的方案数为365m365^m365m。 先找出这nnn种生日,方案数为C(365,n)C(365,n)C(365,n)。 然后对着mmm个人分组,也就是C(m,a1)∗C(m−a1,a2)∗...∗C(m−a1−a2...−an−1,an)C(m,a_1)*C(m-a_1,a_2)*...*C(m-a_.

tomjobs的博客 570

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

2021年度训练联盟热身训练赛第一场

A Weird Flecks, But OK 最小圆覆盖模板题,大部分都是用的板子吧,来个三分套三分吧。(跑得比较慢) #include <bits/stdc++.h> using namespace std; typedef long long ll; const int mod=1e9+7; const double eps=1e-6; const int N = 5010, M = 1e6+10; int n,k; double x[N],y[N],z[N]; double check3

qq_45288870的博客 1809

软考架构师·教材版|05 图论:Dijkstra 最短路径与 AOE 关键路径

拿着一张“路口和过路费”的图,一轮一轮算出起点到每个路口的最短时间;再拿“项目工序图”正推倒推两遍,说出最快几天完工、哪些工序一天都拖不得。Dijkstra 与关键路径两道常考计算题,方法对了五分钟拿分。

weixin_46316564的博客 205

[C++高阶数据结构·图论下] 最短路径:为什么“挑最小的”一定正确?

本文系统对比最小生成树与最短路径的核心差异,聚焦三类最短路算法:Dijkstra(非负权、贪心确认)、Bellman-Ford(可负权、反复松弛)、Floyd(全源、分层中转)。核心区别在于:MST 关注“连通所有点”的最小代价(边数固定),而最短路关注“两点间路径最短”(边数可变)。关键反直觉点是:负权对 MST 无害,却使 Dijkstra 失效——因“绕远更近”破坏贪心前提。算法本质反映三种处理不确定性的策略:确认式(Dijkstra)、迭代修正(Bellman-Ford)、分层逼近(Floyd)。强

Tairitsu_青云 515

数据结构之图论基础——从定义到常用术语

本文系统梳理图论核心知识点:从数据关系递进引出图的多对多特性,定义图为G=(V,E),强调顶点集非空;分类为有向/无向、有权/无权、连通/非连通;详解九大高频术语——完全图、稀疏/稠密图、权与网、邻接、度(含握手定理)、路径、子图、连通分量与生成树,并总结考研/面试必背公式与易错点,突出“边数计算”与“极大/极小”辨析,助力高效备考。

qq_34097230的博客 352

2026-11-02 hetao1733837 的刷题记录

难道说,就是说,我在倒着考虑的时候……但是,有不完全正确……如果吃一坨的话,真的有可能吧……那并不能保证是一个连通块,只能保证是一个子树……可能几亿天前就指出了我的这个问题……即,我们需要选一些位置,同时,在整个域当中,还有不选的,组合数乘起来,就做完了……如果是暴力,肯定就是限制个数自己枚举,然后做完了……有时候说话不好听,但是,真的帮助我了……也可以看出来,他很纯粹……特别是现在穿的比较厚,不方便仰头……求一下连通块的个数,区别不是很大……具体的,我们之前的暴力……还是说,别浮躁吧,有点毛燥了……

hetao1733837的博客 240
上一篇: ACM-ICPC 2017 Asia Urumqi A.Coins【概率dp / 期望dp】
下一篇: 2021年度训练联盟热身训练赛第四场 I.Slot Machines【KMP】
WA自动鸡
博客等级 码龄7年 10粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值