网站空间内存我的世界做壁纸的网站

diannao/2026/1/24 15:00:12/文章来源:
网站空间内存,我的世界做壁纸的网站,上海网站制作怎么样,哪个网站美丽乡村做的比较好目录 前言#xff1a; 题单#xff1a; P3386 【模板】二分图最大匹配 P1525 [NOIP2010 提高组] 关押罪犯 P3385 【模板】负环 P3371 【模板】单源最短路径#xff08;弱化版#xff09; SPFA写法 Dij写法#xff1a; P3385 【模板】负环 P5960 【模板】差分约束…目录 前言 题单 P3386 【模板】二分图最大匹配 P1525 [NOIP2010 提高组] 关押罪犯 P3385 【模板】负环 P3371 【模板】单源最短路径弱化版  SPFA写法 Dij写法 P3385 【模板】负环 P5960 【模板】差分约束  P7771 【模板】欧拉路径 文末:  前言 若刚入门图论想做基础图论题请移步CSDN 题单 P3386 【模板】二分图最大匹配 https://www.luogu.com.cn/problem/P3386 交替路 从未匹配点出发依次经过非匹配边匹配边非匹配边……形成的路径 增广路 从非匹配点出发走交替路最后到达另一非匹配点的路径 算法 可以发现增广路的匹配边比交替路的匹配边多一-----可以尽可能找增广路用DFS或者BFS实现当找不到增广路时就得到了最大匹配边 匈牙利算法 男女相亲男选女可占可让可以有女朋友当遍历到的男生的心仪女生有男朋友时如果该男朋友还有其他心仪女生没有对象那么该男朋友会将女朋友让出来并有新的女朋友真渣啊~(* ︿)超小声嘀咕(*3)╭ const int N 505; const int M 5e4 5;int cnt; int head[N]; int match[N];//i的男友 int vis[N];int n, m, e; int ans;struct EDGE {int v;int next; }EDGE[/*2 * */M];void add(int u, int v) {cnt;EDGE[cnt].v v;EDGE[cnt].next head[u];//不是等于cnthead[u] cnt; }bool dfs(int f)//boyfriend {for (int i head[f]; i; i EDGE[i].next)//遍历女友{int v EDGE[i].v;if (vis[v])continue;vis[v] 1;if (match[v] 0 || dfs(match[v]/*传的是男友*/)){match[v] f;return 1;}}return 0; }int main() {quickio;cin n m e;int u, v;while (e--){cin u v;add(u, v);//add(v, u);//不要建双边只要遍历男友就可以了}for (int i 1; i n; i)//遍历男友{memset(vis, 0, sizeof(vis));if (dfs(i))ans;}cout ans endl;return 0; } P1525 [NOIP2010 提高组] 关押罪犯 https://www.luogu.com.cn/problem/P1525 思路 要用到贪心 按边从大到小排序再按顺序往后安排各自的监狱首先最大的怨气的两个人肯定要放在不同的监狱就是不同的集合----要涉及到并查集放相同监狱的有相同的祖先 #include iostream #include cstring #include algorithm #include vector #include cmath #include unordered_map #include unordered_set #include map #include set #include queue #include stack #include deque #include functional #include climits#define quickio ios::sync_with_stdio(false),cin.tie(0),cout.tie(0); #define endl \nusing namespace std; typedef long long ll;const int N 2e4 5; const int M 1e5 5;int n, m; int fa[N * 2];// n的存的是敌人struct zf {int a;int b;int c; }zf[M];bool cmp(struct zf a, struct zf b) {return a.c b.c; }int find(int x) {if (fa[x] x)return x;return fa[x] find(fa[x]); }int FindMin() {for (int i 0; i m; i){int x find(zf[i].a);int y find(zf[i].b);if (x y)return zf[i].c;fa[fa[zf[i].a]]/*注意是fa[fa[]],要把祖先直接归并到敌人集合而不只是自己*/ find(zf[i].b n)/*不是fa[zf[i].b n],因为要找的是最上面的祖先*/;fa[fa[zf[i].b]] find(zf[i].a n);}return 0; }int main() {cin n m;//并查集基本操作初始化父亲for (int i 1; i 2 * n; i)fa[i] i;for (int i 0; i m; i){cin zf[i].a zf[i].b zf[i].c;}sort(zf, zf m, cmp);int ans 0;ans FindMin();cout ans endl;return 0; } P3385 【模板】负环 https://www.luogu.com.cn/problem/P3385 注意 该题不可以用Dijkstra,只能用SPFA但是通常求最短路最好用Dijkstra,因为SPFA经常被卡例如你可以做这两个题目  ......~(▽)~* 【模板】单源最短路径弱化版 - 洛谷 【模板】单源最短路径标准版 - 洛谷 你会发现SPFA的代码可以过弱化版但是过标准版会有一堆TLE(我会在后面公布这两题的答案ฅʕ•̫͡•ʔฅ) P3371 【模板】单源最短路径弱化版  【模板】单源最短路径弱化版 - 洛谷 SPFA写法 //SPFA //该代码是可以判断负环的SPFA且采用vector存边#include iostream #include cstring #include algorithm #include vector #include cmath #include unordered_map #include unordered_set #include map #include set #include queue #include stack #include deque #include functional #include climits#define quickio ios::sync_with_stdio(false),cin.tie(0),cout.tie(0); #define endl \nusing namespace std; typedef long long ll;const int N 5e5 5;struct edge {int v;int w; }; int vis[N];//标记是否在队内所有pop后要置为0和Dij不一样Dij是标记该点访问过不再访问 int ans[N]; int countt[N];//经过每个点的次数如果有一个点的次数 n则有负环vectoredgee[N];int n, m, s;bool SPFA(int s) {queueintque;//memset(ans, 0x3f, sizeof(ans));该题初始化为这个不够0x3f3f3f3f INT_MAX要初始化为INT_MAX//注意题目要求啊若不能到达则输出 2^31 - 1for (int i 1; i n; i)ans[i] INT_MAX;ans[s] 0;que.push(s);vis[s] 1;while (!que.empty()){int dian que.front();que.pop();vis[dian] 0;/*出队是0注意vis是表示是否在队内的*/for (auto ed : e[dian]){int v ed.v;int w ed.w;if (ans[v] ans[dian] w){ans[v] ans[dian] w;countt[v] countt[dian] 1;if (countt[v] n)return true;//返回true表示有负环if (vis[v] 0){vis[v] 1;que.push(v);}}}}return false; }int main() {cin n m s;int u, v, w;for (int i 0; i m; i){cin u v w;e[u].push_back({ v, w });}SPFA(s);for (int i 1; i n; i)cout ans[i] ;return 0; } Dij写法 问题 弱化版的代码超时----要用堆优化   (ง •_•)ง核心 priority_queue pairint,int 用优先队列来取最近的点就不用遍历找点了 在priority_queue中是按pair的第一个元素first由大到小排序的所以pair距离点号注意因为要的是最小值所以距离要存负值 (重点敲黑板哦~~    ) 总结 要优先队列来方便选出最短路径注意堆优化优先队列中的排序是从大到小所以存距离要存负数 要一个结构体存每个点的数据head数组存每条链的数据还要用ans数组记录从起点到某点的最短距离用vis数组记录点是否被加入过最短路径避免重复加入 #include queue /*堆优化利用优先队列降低复杂度直接排序注意优先队列是由大到小排列的,因此距离是负数 */ #include climits #include iostreamusing namespace std;const int MAX 1e6; int n, m, s; int ans[MAX];//最短距离 int cnt; int head[MAX];//出边的头标记 int visit[MAX];//标记该点是否被访问过struct EDGE {int to;int next;//下一个出边int wei;//权值 }edge[MAX];void add(int u, int v, int w) {cnt;edge[cnt].wei w;edge[cnt].to v;edge[cnt].next head[u];head[u] cnt; }int main() {int i;int u, v, w;cin n m s;for (i 1; i n; i)ans[i] INT_MAX;ans[s] 0;for (i 1; i m; i){cin u v w;add(u, v, w);}priority_queuepairint, int que;//距离点que.push({0, s});while (!que.empty()){int qh que.top().first;int h que.top().second;que.pop();/*记得pop()!!!!!!!!!*/if (visit[h] 0){visit[h] 1;for (i head[h]; i ! 0; i edge[i].next)//不断找下一个儿子直到找完{if (ans[edge[i].to] ans[h] edge[i].wei){ans[edge[i].to] ans[h] edge[i].wei;if (visit[edge[i].to] 0)que.push({ -ans[edge[i].to], edge[i].to });}}}}for (i 1; i n; i)cout ans[i] ;cout endl;return 0; } P3385 【模板】负环 P3385 【模板】负环 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) //负环 //该代码是可以判断负环的SPFA且采用vector存边const int N 5e5 5;struct edge {int v;int w; }; int vis[N];//标记是否在队内所有pop后要置为0和Dij不一样Dij是标记该点访问过不再访问 int ans[N]; int countt[N];//经过每个点的次数如果有一个点的次数 n则有负环vectoredgee[N];int n, m, s;bool SPFA(int s) {queueintque;for (int i 1; i n; i)ans[i] INT_MAX;memset(vis, 0, sizeof(vis));memset(countt, 0, sizeof(countt));ans[s] 0;que.push(s);vis[s] 1;while (!que.empty()){int dian que.front();que.pop();vis[dian] 0;/*出队是0注意vis是表示是否在队内的*/for (auto ed : e[dian]){int v ed.v;int w ed.w;if (ans[v] ans[dian] w){ans[v] ans[dian] w;countt[v] countt[dian] 1;if (countt[v] n)return true;//返回true表示有负环if (vis[v] 0){vis[v] 1;que.push(v);}}}}return false; }int main() {int t;cin t;while (t--){memset(e, 0, sizeof(e));cin n m;int u, v, w;for (int i 0; i m; i){cin u v w;if (w 0){e[u].push_back({ v, w });e[v].push_back({ u, w });}elsee[u].push_back({ v, w });}if (SPFA(1)){cout YES endl;}elsecout NO endl;}return 0; } P5960 【模板】差分约束  【模板】差分约束 - 洛谷 一个差分约束系统是这样的 给出 n 个变量和 m 个约束条件形如    Xi - Xj≤Ck  ​你需要求出一组解使得所有约束条件均被满足。 怎样解这个差分约束系统呢我们将上面的不等式变形一下 Xi​≤Xj​Ck​          (_)? 容易发现这个形式和最短路中的三角形不等式Dis(v)​≤Dis(u)​w 非常相似。 因此我们就将这个问题转化为一个求最短路的问题比如对于上面这个不等式 1、我们从 j 向 i 连一条权值为 Ck​ 的边。 2、我们再新建一个 0 号点从 0 号点向其他所有点连一条权值为 0的边。 这个操作相当于新增了一个变量 X0​ 和 n 个约束条件xi​≤x0​从而将所有变量都和X0​ 这一个变量联系起来。 3、然后以 0号点为起点用 SPFA 跑最短路。 如果有负权环差分约束系统无解。否则设从 0号点到 i号点的最短路为 Dis(i)​则xi​Dis(i)​ 即为差分约束系统的一组可行解。 const int N 5e5 5;struct edge {int v;int w; }; int vis[N];//标记是否在队内所有pop后要置为0和Dij不一样Dij是标记该点访问过不再访问 int ans[N]; int countt[N];//经过每个点的次数如果有一个点的次数 n则有负环vectoredgee[N];int n, m, s;bool SPFA(int s) {queueintque;for (int i 1; i n; i)ans[i] INT_MAX;memset(vis, 0, sizeof(vis));memset(countt, 0, sizeof(countt));ans[s] 0;que.push(s);vis[s] 1;while (!que.empty()){int dian que.front();que.pop();vis[dian] 0;/*出队是0注意vis是表示是否在队内的*/for (auto ed : e[dian]){int v ed.v;int w ed.w;if (ans[v] ans[dian] w){ans[v] ans[dian] w;countt[v] countt[dian] 1;if (countt[v] n 1/*注意这里是n 1了因为多加了一个0号节点*/)return true;//返回true表示有负环if (vis[v] 0){vis[v] 1;que.push(v);}}}}return false; }int main() {memset(e, 0, sizeof(e));cin n m;int u, v, w;for (int i 0; i m; i){cin u v w;//e[u].push_back({ v, w });e[v].push_back({ u, w });//注意这里的起点和终点}for (int i 1; i n; i)e[0].push_back({ i, 0 });//注意要让一点可以到达所有点才行但是图内不一定存在这种点所以可以自己创建一个0节点并和所有点都连起来同时边权为0if (SPFA(0) false)//从0号节点出发求它到所有点的最短路径如果有负环该差分约束无解{for (int i 1; i n; i)cout ans[i] ;cout endl;}elsecout NO endl;return 0; } P7771 【模板】欧拉路径 https://www.luogu.com.cn/problem/P7771 欧拉路径 只经过一次的边 欧拉回路 经过欧拉路径能回到起点的回路 欧拉图 有欧拉 回路 的图 半欧拉图 有欧拉 路径 的图但是没有欧拉 回路 判断是否有欧拉路径1、有向图 欧拉路径 只有两个点出度不等于入度起点出度 入度 1终点入度 出度 1 其他点入度 出度 (﹃)~zZ 欧拉回路 所有点入度等于出度 O_O 2、无向图 欧拉路径 只有两个点的度数为奇数起点出度 入度 1终点入度 出度 1 其他点度数为偶数           (っ´Ι)っ偶数 欧拉回路 所有点度数为偶数    ( ´)(._.) const int N 1e5 5; const int M 2e5 5;//用Dij不好排序用vector的图 //struct EDGE //{ // int v; // int w; // int next; //}EDGE[M]; // //int head[N]; //int ans[N]; //int vis[N]; //int cnt; // //int du[N][2];//入度出度 // //void add(int u, int v, int w) //{ // cnt; // EDGE[cnt].v v; // EDGE[cnt].w w; // EDGE[cnt].next head[u]; // head[u] cnt; //}vectorintG[N]; stackintst; int du[N][2];//入度出度 int cnt[2];//记录多少点出度不等于入度cnt[0]:入度 出度,cnt[1]:出度 入度 int beginn[N];//记录每个点遍历到了哪个出边void DFS(int qi) {for (int i beginn[qi]; i G[qi].size(); i beginn[qi]/*注意不是i,因为经过DFS后beginn[qi]的值可能早已改变不能再从目前点的后一个点继续走*/){beginn[qi] i 1;DFS(G[qi][i]);}st.push(qi);//最后放因为栈是先进后出要先把该点的出边都遍历完再放入该点以便输出时该点先输出 }int main() {int n, m;cin n m;int u, v;for (int i 0; i m; i){cin u v;G[u].push_back(v);du[u][1];du[v][0];}int qi 1;//起点//int flag 0;//flag 0表示所有点入度 出度for (int i 1; i n; i){sort(G[i].begin(), G[i].end());//注意vector和数组对sort的用法不同if (du[i][0] ! du[i][1]){//flag 1;if (du[i][0] - du[i][1] 1)//入度 - 出度 1终点{cnt[1];}else if (du[i][1] - du[i][0] 1)//出度 - 入度 1起点{cnt[0];qi i;}else{cout No endl;return 0;}}}if (cnt[0] ! cnt[1]/*起点数不等于终点数*/){cout No endl;return 0;}if (cnt[0] ! 0/*不是欧拉路径*/ cnt[0] ! 1/*不止一个起点*/){cout No endl;return 0;}DFS(qi);while (!st.empty()){cout st.top() ;st.pop();}return 0; } 文末:  单源最短路径弱化版 【模板】单源最短路径弱化版 - 洛谷 该题可用Dij也可用SPFA该题SPFA可以 单源最短路径标准版  【模板】单源最短路径标准版 - 洛谷 该题只能Dij,若为SPFA 综上所述最好用Dij算法求单源最短路径但若有负边权只能用SPFA

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/88615.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中小学生做试卷的网站6阿联酋网站后缀

当我们使用float来使元素并排显示的时候,可以使用margin来控制元素之间的距离,而在很多版式里(例如产品图片的列表),需要浮动的元素达到两端对齐的效果,如图1所示。 图1 两端对齐的版式 单纯使用float:left…

做美食直播哪个网站最好网站备案不通过怎么解决

RTlinux主要的api函数实时应用程序分为两部分,内核部分和应用部分,应用部分需要和内核部分通过FIFO进行数据交换和控制,除此之外和一般应用程序没有太多区别,内核部分比较复杂,程序以模块方式挂入内核,这部分程序的编写需要对底层的东西有较高的要求,除了掌握RTLinux的API以外还…

Mac怎么搭建网站开发环境科技创新导报

一、JVM 1、jvm的内存组成 五大内存区域,分1.7和1.8 1.堆内存:引用类型的数据,内部组成:1.新生代(伊甸区和幸存者区)2.老年代。该区域经常发生垃圾回收的操作 堆是JVM中最大的一块内存区域,用…

网站开发研发工程师岗位职责成都网站推广哪家专业

1. ActionContext ActionContext是被存放在当前线程中的,获取ActionContext也是从ThreadLocal中获取的。所以在执行拦截器、 action和result的过程中,由于他们都是在一个线程中按照顺序执行的,所以可以可以在任意时候在ThreadLocal中获取 Act…

免费企业自助建站信息发布网网络营销的主要内容是什么

💡本篇内容:YOLOv8改进PIoU损失函数:PIoU v2损失增强了专注于中等质量锚盒的能力,v1版本使用非单调聚焦机制更直接、更快的边界框回归损失 💡附改进源代码及教程,用来改进🚀PIoU损失函数 Powerful-IoU损失函数论文地址:https://www.sciencedirect.com/science/art…

淘客网站开发源代码wordpress漂亮手机网站模板

之前的文章记录了oracle客户端和服务端的下载与安装,内容参见: 在Windows中安装Oracle_windows安装oracle 如果不想安装oracle客户端(或者是电脑因为某些原因无法安装oracle客户端),还想能够连接oracle远程服务&#…

健网站怎样建十大ui培训机构

DB-GPT:彻底改变数据库与私有LLM技术的交互 智能SQL生成:后端技术与LLM的完美结合 智能SQL生成:后端技术与LLM的完美结合_llm sql-CSDN博客 GitHub - eosphoros-ai/DB-GPT: AI Native Data App Development framework with AWEL(Agentic Wor…

后台网站下载做高端网站建设公司

学习了解PHP中Memcached扩展的使用 说实话,在目前的开发环境中,使用 Memcache 的项目还真的不多。在 Redis 大行其道的今天,Memcache 的衰退也可以说是大势所趋。不过,可能很多刚开始学习 PHP 的新同学不知道,当年在 L…

皮具网站设计把WordPress搬家

广度优先搜索(BFS)在JavaScript编程中有许多实际应用场景,特别是在解决图、树等数据结构相关问题时非常常见。在JavaScript中,可以使用队列来实现广度优先搜索算法。通过将起始节点加入队列,然后迭代地将节点的邻居节点…

教学网站建设与管理局网站

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到…

内蒙古网站建设电话网站页面设计与制作实践

网关和路由器是数据通信行业被广泛使用的通信设备,它们都是网络连接的组成部分。那么,4G物联网网关和传统工业路由器有哪些区别呢?接下来飞畅科技的小编就来为大家详细介绍下4G物联网网关和工业路由器的区别,一起来看看吧&#xf…

制作网站是什么专业注册个人工作室流程及费用

今天带大家做川菜系中的 水煮牛肉 这个菜是比较费辣椒的 制作成本相对一般菜来说 会高一些 一块牛肉 泡水划冰 从超时买的干腐竹 切成小片 温水浸泡五分钟 泡软它 然后捞出来 去干水分 牛肉切片 尽量切薄一点 三瓣左右蒜 一块生姜 去皮切末 牛肉中下入 一个鸡蛋 小半勺…

社保减员要怎么做 国税局网站全网搜索引擎

说到vivo X27,相信很多小伙伴都会第一时间想到其帅气的颜值以及强悍的拍照!的确,就颜值来说,vivo X27凭借着升降式摄像头、零界全面屏、不凸出的后置三摄以及孔雀纹理的确称的上是2019年的最美旗舰;而拍照就更不用说了…

广告加工厂临淄关键词网站优化哪家好

c#给定编码中的字符无效Input two strings and check whether they are equal or not using C# program. 输入两个字符串,并使用C#程序检查它们是否相等。 用于字符串比较的C#代码 (C# code for string comparison) Here, we are asking for…

大型网站服务器价格企业邮箱申请

不同的数据文档,会获得不同日期格式,常见的有str(20200101),datetime(20200101),又或者是2020-01-01,,2020-1-1,20-1-1,20-Apr_20th,2020/01/01,20/01/01等等,总之类型很多。因此需要我们对日期格式进行统一化。这里我…

我有域名和云服务器怎么做网站wordpress搬家_后台错乱

在 Uni-app 中,你可以使用本地缓存来存储应用程序的数据。Uni-app 提供了两种本地缓存方式:uni.setStorageSync 和 uni.setStorage。其中,uni.setStorageSync 同步方式存储数据,适合小数据量的存储;而 uni.setStorage …

在国内做推广产品用什么网站好营销型网站开发定制

20240115如何在线识别俄语字幕? 2024/1/15 21:25 百度搜索:俄罗斯语 音频 在线识别 字幕 Bilibili:俄语AI字幕识别 音视频转文字 字幕小工具V1.2 BING:音视频转文字 字幕小工具V1.2 https://www.bilibili.com/video/BV1d34y1F7…

整站seo公司网站开发模板

//声明: midiOutGetNumDevs: UINT; {无参数; 返回 MIDI 输出设备的数目}//举例:

上贵州省建设厅的网站广东网站关键词排名

不得不说,如今比前些年学习资料多很多了。现在的前端公众号也挺多的,这里推荐几个前端大佬运营的公众号,都是聚焦前端垂直领域的优质公众号,关注这些公众号至少可以:1、了解现在前端技术发展情况和未来发展趋势&#x…