当前位置: 首页 > wzjs >正文

单页面网站制作教程石家庄万达网站制作

单页面网站制作教程,石家庄万达网站制作,上海装修公司排名统帅,网站添加什么东西才能和用户体验E. Melody 思路 将所有出现过的音量和音高看作一个点,一个声音看作一条边,连接起来。那么很容易知道要找的就是图上的一条欧拉路径(类似一笔画问题) 又已知存在欧拉路径的充要条件为:度数为奇数的点的个数为0或者2个…

E. Melody

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

思路

将所有出现过的音量和音高看作一个点,一个声音看作一条边,连接起来。那么很容易知道要找的就是图上的一条欧拉路径(类似一笔画问题)

又已知存在欧拉路径的充要条件为:度数为奇数的点的个数为0或者2个,可以先判断部分为NO的情况。

数据范围要求离散化存点,然后用Hierholzer算法找欧拉路径。算法思想很简单,dfs时把走过的边都删掉,如果一个点递归处理完毕就加入到队列中(这里是存边,也是同理,不过是递归后记录边的序号),最后队列里记录的是反向的路径顺序。

dfs的起点是度数为奇数的点(如果存在),这里利用的是当前弧优化+vis数组来处理删边,以及比较最后n与ans的大小来判断图是否联通。

代码

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define endl '\n'
#define int long long
#define pb push_back
#define pii pair<int, int>
#define FU(i, a, b) for (int i = (a); i <= (b); ++i)
#define FD(i, a, b) for (int i = (a); i >= (b); --i)
const int MOD = 1e9 + 7;
const int INF = 0x3f3f3f3f;
const int maxn = 5e5 + 5, MAXN = maxn;
int ne[maxn]; // 当前弧优化
vector<pii> G[maxn];
vector<int> ans;
bool vis[maxn];
void dfs(int x) {for (int i = ne[x]; i < G[x].size(); i = ne[x]) {ne[x] = i + 1;auto [y, eid] = G[x][i];if (vis[eid])continue;vis[eid] = true;dfs(y);ans.push_back(eid); // 递归后记录边}
}void solve() {ans.clear();int n;cin >> n;FU(i, 1, 2 * n) {G[i].clear();ne[i] = 0;vis[i] = 0;}map<int, int> mu, mv;int im = 0;FU(i, 1, n) {int u, v;cin >> u >> v;if (mu[u] == 0)mu[u] = ++im;if (mv[v] == 0)mv[v] = ++im;G[mu[u]].pb({mv[v], i}); // u -> {v,eid}G[mv[v]].pb({mu[u], i});}int cntj = 0;int qd = 1;FU(i, 1, im) {if (G[i].size() % 2 == 1)qd = i, cntj++;}if (cntj != 0 && cntj != 2) {cout << "NO\n";return;}dfs(qd);if (ans.size() != n) { // 说明不连通cout << "NO\n";return;}cout << "Yes\n";for (int e : ans) {cout << e << " ";}cout << endl;
}signed main() {
#ifdef ONLINE_JUDGE
#elsefreopen("../in.txt", "r", stdin);
#endifcin.tie(0)->ios::sync_with_stdio(0);int T = 1;cin >> T;while (T--) {solve();}return 0;
}
http://www.dtcms.com/wzjs/816976.html

相关文章:

  • 外贸型企业网站建设能进封禁网站的手机浏览器
  • 青岛网站定制开发大二网页设计实训总结
  • 深圳网站建设网站排名优化asp.net网站恢复
  • 丽水专业网站建设价格快站建站
  • 游戏怎么做充值网站简单公司网站
  • 网站建设人员培训网站关键词提取工具
  • 营销型网站建设哪里有怎么做seo
  • 南通网站建设公司哪家好优秀企业
  • 网站脚本怎么做多语言 网站源码
  • 昆明网站制作计划淘宝客网站开发 猪八戒
  • 深圳博纳网站建设建筑公司企业使命和愿景大全
  • 北京房山网站建设开发公司网签补充合同
  • 建企业网站步骤深圳市建设工程质量检测中心官网
  • 深圳网站优化广东省城乡建设厅网站
  • 网站开发哪个工具网站建设公司的优势
  • 阜新网站建设单位网络推广的优化服务
  • app 展示网站wordpress主题阁
  • 云南网站建设效果好吗手机维护 Wordpress
  • vue.js和vs做网站比较河南省做网站的企业
  • 兴华建设集团有限公司网站建设网站需要的ftp资源
  • 建站大师阙梅娇简介番禺建设网站公司
  • 专业做网站优化排名wordpress添加自定义字段面板
  • 浙江网站建设费用wordpress编辑器可视化调用
  • 义安区住房和城乡建设局建网站微网官方网站
  • 建设项目竣工验收公示网站人工智能营销网站开发
  • 宁波市江东区地块建设网站wordpress域名修改
  • 怎么找网站站长专业开发小程序公司
  • xp系统中做网站服务器吗吉安建站公司
  • 咸阳网站建设方案研发网站建设报价
  • 网站建设一般预付比例多少专门做app的网站