[杂题]Codeforces 860D. Wizard's Tour

Codeforces 858F ( Codeforces Round #434 Div. 2 F ) Wizard's Tour 图论dfs D. Wizard's Tour time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output All Berland residents are waiting for an u 阅读详情

Solution

首先答案的上界是 ⌊m2⌋ 。
考虑 dfs 树。
一个点如果连向子树的点的边有偶数条,那么把这些点一对一的加到答案里面。
如果只有奇数条,那么就要考虑把连向父节点的边也加进来。
在 dfs 中记录这些东西就好了。
这样就得到的答案为 ⌊m2⌋ 。
学到了 tuple 怎么用。。
这个 idea 好多次用到啦。比如说这个题,还有CF上次打的某道vp (哪次忘了呀。。)

#include <bits/stdc++.h>
using namespace std;

const int N = 202020;
const int INF = 1 << 30;
typedef long long ll;
typedef tuple<int, int, int> Tuples;

inline char get(void) {
    static char buf[100000], *S = buf, *T = buf;
    if (S == T) {
        T = (S = buf) + fread(buf, 1, 100000, stdin);
        if (S == T) return EOF;
    }
    return *S++;
}
template<typename T>
inline void read(T &x) {
    static char c; x = 0; int sgn = 0;
    for (c = get(); c < '0' || c > '9'; c = get()) if (c == '-') sgn = 1;
    for (; c >= '0' && c <= '9'; c = get()) x = x * 10 + c - '0';
    if (sgn) x = -x;
}

int n, m, x, y, z, clc;
vector<int> G[N];
int deg[N], pre[N];
vector<Tuples> ans;

inline void AddEdge(int from, int to) {
    G[from].push_back(to); G[to].push_back(from);
}
inline int dfs(int u, int fa) {
    pre[u] = ++clc;
    int lst, ned, d = 0;
    for (int to: G[u]) {
        if (to == fa) continue;
        if (!pre[to]) ned = dfs(to, u);
        else ned = (pre[to] > pre[u]);
        if (!ned) continue;
        if (d) ans.push_back(Tuples(lst, u, to));
        d ^= 1; lst = to;
    }
    if (d && fa) {
        ans.push_back(Tuples(fa, u, lst));
        return 0;
    }
    return 1;
}

int main(void) {
    freopen("1.in", "r", stdin);
    read(n); read(m);
    for (int i = 1; i <= m; i++) {
        read(x); read(y);
        AddEdge(x, y);
        ++deg[x]; ++deg[y];
    }
    for (int i = 1; i <= n; i++)
        if (!pre[i]) dfs(i, 0);
    printf("%d\n", ans.size());
    for (int i = 0; i < ans.size(); i++) {
        tie(x, y, z) = ans[i];
        printf("%d %d %d\n", x, y, z);
    }
    return 0;
} 
轴承故障诊断中的信号处理技术对比与应用 信号处理技术在工业设备状态监测中扮演着关键角色,特别是针对轴承这类核心旋转部件的故障诊断。通过时频分析方法如短时傅里叶变换(STFT)、Wigner-Ville分布(WVD)和小波变换,工程师能够从复杂的振动信号中提取故障特征。这些技术各有优势:STFT提供稳定的时频分析,WVD具有超高分辨率但存在交叉项干扰,小波变换则通过多尺度分析适应不同频段需求。在实际工程应用中,结合包络分析技术可显著提升信噪比,有效识别滚动体故障等典型问题。随着工业4.0的发展,这些信号处理技术与深度学习相结合,正在推动智能诊断系统 阅读详情

相关推荐

Sony SLVS-EC接口实战:如何用Xilinx K7 FPGA接收IMX421传感器数据(附电气特性匹配技巧)

本文详细介绍了在Xilinx Kintex-7 FPGA平台上实现Sony IMX421图像传感器SLVS-EC接口数据接收的完整实战方案。内容涵盖从硬件选型、PCB布局的电气特性匹配技巧,到FPGA内部GTX收发器配置、多通道绑定以及SLVS-EC协议数据解析与图像重组的关键步骤,为高速视觉系统开发提供了宝贵的调试经验和系统集成指导。

efc12345678的博客 263

Cf #434 Div.1 D Wizard's Tour [构造题]

Wizard′sTourWizard&#x27;s TourWizard′sTour 最初想法\color{blue}{最初想法}最初想法 考虑枚举每个边 (u,v)(u, v)(u,v), 设 uuu 连出的点中度数最小的点为 aaa, vvv 连出的点中度数最小的点为 bbb, 比较 u,au, au,a 与 v,bv, bv,b 的度数和大小, 贪心地选取度数较小的点, 得到一个...

Zbr162的博客 333

STM32实战:增量式PID控制气体流量(附完整代码与调参技巧)

本文详细解析了如何在STM32平台上实现气体流量控制的增量式PID算法。内容涵盖从系统硬件架构选型、增量式PID算法原理与代码实现,到ADC采样滤波、PWM驱动配置等关键外设驱动,并提供了完整的参数整定技巧与工程调优实战指南,帮助开发者构建稳定可靠的气体流量控制系统。

rose2的博客 618

[CF858F] Wizard‘s Tour

图论构造题通常可以规约到一棵树上(当然这个思维过程如果没有把握要领的话可能会想一下午,总的来说还是转化问题的能力不强,真正的高手是可以在知识之间建立联系的)。 对于树的情况,DFS 一遍可以方便地实现两两配对。这也是很经典的树 dp 模型。 现在放到一般图上,你反而不会了 ? 对了嘛。把返祖边看成 连了一个虚拟节点 ,就可以转换成一个树了。 如果告诉你可以这样转化,你肯定能分析出来。 如果不告诉你,你就没发现这两件事物的关系? 或者说,因为它们之间不存在等价关系,所以不容易被你发现? 看来建立知识点之间

cqbzlydd的博客 401

图像质量评估(9) -- 杂散光(Flare)的测量标准与实战解析

本文深入解析了杂散光(Flare)对图像质量的影响及其测量标准,包括ISO 9358和ISO 18844的核心方法。通过实战指南和优化策略,帮助读者掌握杂散光的测量与控制技术,提升光学系统性能。

sql99的博客 251

流体仿真软件:COMSOL Multiphysics二次开发_(11).COMSOL与外部软件的数据交换

通过上述方法,您可以实现 COMSOL Multiphysics 与外部软件的数据交换,从而更好地集成和分析仿真结果。无论是从文本文件导入数据,导出数据到 MATLAB,还是通过 API 和 COMSOL Server 实现实时通信,都能满足不同场景下的需求。希望这些内容对您在流体仿真领域的开发工作有所帮助。

kkchenjj的博客 1553

CodeForces 860D Wizard's Tour

题意 给出一张无向图,要求找出尽量多的长度为2的不同路径(边不可以重复使用,点可以重复使用) 分析 yzy:这是原题 http://www.lydsy.com/JudgeOnline/problem.php?id=4874 首先猜测,一个连通块内,如果是偶数条边,那么所有边都可以用上.如果是奇数条边,那么只会剩下一条边.只要给出一个方案构造的方法,那么正确性就可以从构造方法中得出. 长度为2的路径...

weixin_30374009的博客 154

《UDS协议从入门到精通(UDS速查手册)》(完结撒花版)

专栏总目录,文中介绍了UDS协议相关的基础知识和一些术语,给出了详细介绍6大类26种服务的跳转目录。

车载系统攻城狮 9万+

CF 858F Wizard's Tour (DFS)

Description给定一个图,你想在这张图上进行若干次旅游,每次旅游可以任选一个点 x 作为起点,再走到一个与 x 直接有边相连的点 y,再走到一个与 y 直接有边相连的点 z 并结束本次旅游,不能经过任意一条边超过一次。求最多的旅游次数。Solution首先注意图不一定是连通的,对于每一个边的数量为mim_i的连通块,可以选旅游的数量一定是⌊mi/2⌋\lfloor m_i/2\rfloor,

დ♂Hany01's Blog Space♂ღ 770

图文详解Trae配置Java开发环境

本文介绍了Trae开发工具的安装配置流程:首先从官网下载安装Trae,然后安装Java开发所需的Extension Pack for Java和Spring Boot Extension Pack插件。关键步骤包括修改settings.json配置文件,需指定JDK路径、Maven可执行文件路径和用户设置文件路径。所有操作均配有图示说明,并强调要替换为实际电脑路径。

谷哥的小弟 5992

152:vue+leaflet 判断一个点是否在一个电子围栏内

本文介绍了一个基于Vue+Leaflet的示例,演示如何判断点是否在电子围栏内。作者大剑师兰特(优快云知名博主)展示了使用polygon.getBounds().contains(latlng)方法检测点与多边形边界的关系。代码仅需80行,通过点击地图触发判断逻辑,结果显示提示信息。该技术可广泛应用于地理围栏、位置服务等场景,需要安装turf依赖。文章提供了完整源码和配置说明,适合GIS开发者学习参考。

大剑师兰特的GIS世界 756

CodeforceF. Wizard's Tour

好题

OZY的博客 680

阿里九宫格验证码 (Baxia SecCaptcha) 逆向工程与自动化求解

实现对阿里巴夏 (Baxia) 九宫格点击验证码的全自动求解模式说明依赖浏览器模式通过 Puppeteer/Playwright 控制真实浏览器,享有完整 DOM/Canvas/WASM 环境需要 Chrome/Chromium纯算模式脱离浏览器,通过 HTTP API + Node.js WASM 解密完成求解无需浏览器。

猫敷雪 378

【Codeforces858F】Wizard's Tour [构造]

Wizard's Tour Time Limit: 50 SecMemory Limit: 512 MB Description    Input    Output    Sample Input   4 5  1 2  3 2  2 4  3 4  4 1 Sample Output   2  4 1 2  4 3 2 HINT    Solution  ...

weixin_34409822的博客 196

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

codeforces 858F Wizard's Tour

原题地址:http://codeforces.com/problemset/problem/858/F 一开始我居然想的是一道匹配题,硬是YY了一种对于边的一般图匹配。就.....炸了qwq。 后来发现这可以拿树dp来贪心做owo。 不xia扯了开始分析: 为了方便讨论我们先假装原图是一个树形图。 那么如图:对于节点u,我们能找到一条路径的话只会有两种情况: 第一种就是如左图所示,

qq_38081877的博客 611

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Codeforces 8E

E. Beadstime limit per test5 secondsmemory limit per test64 megabytesinputstandard inputoutputstandard outputOne Martian boy called Zorg wants to present a string of beads to his friend from the Earth...

u011535421的博客 400

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

【Codeforces858F】Wizard's Tour

题意: 给你一张nn点mm边无向图,询问最多进行几次操作,每次操作删去两条相邻的边,并给出方案。题解还是蛮神的,直接证明一个连通块的答案可以达到上界,直接给了构造,应该挺显然的。大概就是通过搜索树尽量先匹配深度较低的点向下连得边就好了。#include <bits/stdc++.h> #define gc getchar() #define ll long long #define N 20000

wzf_2000的博客 539

CF858F Wizard's Tour

也许更好的阅读体验 \(\mathcal{Description}\) 给定一张 \(n\) 个点 \(m\) 条边的无向图,每条边连接两个顶点,保证无重边自环,不保证连通。 你想在这张图上进行若干次旅游,每次旅游可以任选一个点 \(x\) 作为起点,再走到一个与 \(x\) 直接有边相连的点 \(y\),再走到一个与 \(y\) 直接有边相连的点 \(z\) 并结束本次旅游。 作为一个...

weixin_30583563的博客 170

Wizard's Tour

F. Wizard's Tour time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output All Berland residents are waiting for an unprecede...

weixin_30519071的博客 176

LOJ 6062 [Hall定理]

Hall定理:设M(S)M(S)为与SS中的点相连的点集,一个二分图(U,V)(|U|≤|V|)(U,V)(|U|\le|V|)存在完备匹配,当且仅当满足对于任意点集x∈Ux∈U,都有|M(X)|≥|X||M(X)|\ge|X|。DescriptionDescription给出一个长度为nn的数列{aia_i}和一个长度为mm的数列{bib_i},求{aia_i}有多少个长度为mm的连续子数列能与{

Vectorxj的博客 1564

[最短路][DP][传递闭包] BZOJ 5109 && LOJ #6252. 「CodePlus 2017 11 月赛」大吉大利,晚上吃鸡!

SolutionSolution记fuf_u表示从SS到TT经过点uu的方案数。 这可以很简单的DP出来。 那么点对(A,B)(A,B)合法当且仅当 fA+fB=fTf_A+f_B=f_T AA,BB无法互相到达。 第一个用个表存,第二个按拓扑序做传递闭包就好了。 原来图会不连通 时间复杂度O(nlogn+nmw)O(n\log n+{nm\over w})#include <bits/st

Vectorxj的博客 1257

BZOJ 3495 [2-SAT]

DescriptionDescriptionkk个国家,nn个城市,mm条边。要求每个国家有且仅有一个首都,每条边两端的城市至少要有一个首都。判断是否有解, 有解输出“TAK”,无解输出”NIE”。1≤k,n,m≤10000001≤k, n ,m≤1000000。SolutionSolution 经典二元关系 2-SAT 的模型,但是关系数是 O(n 2 ) 的,不 能承受。 对于一

Vectorxj的博客 1085

2016 计蒜之道 复赛 百度地图的实时路况 [Floyd][分治]

DescriptionDescription定义d(u,v,w)d(u,v,w)为从 uu 号点出发,严格不经过 vv 号点,最终到达 ww 号点的最短路径长度,求∑1≤x,y,z≤n,x≠y,y≠zd(x,y,z)\sum_{1≤x, y, z≤n, x ≠ y, y ≠ z}d(x, y, z)SolutionSolution考虑分治即可,FloydFloyd本身是一个不断利用中转点更新其他点的

Vectorxj的博客 965

BZOJ 4025 [并查集][二分图][分治]

DescriptionDescription有一张nn个点mm条边的图,第ii条边在SiS_i时刻出现,TiT_i时刻消失,对于11~TT的每个时刻,判断图是不是二分图。SolutionSolution其实就是看每个时刻存不存在奇环。 可以分治+LCT 可以直接LCT 可以分治+带权并查集(按秩合并后可以暴力爬树高也可以暴力撤回边都是O(logn)O(logn)的)#include <cstd

Vectorxj的博客 844

[博弈论][二分图匹配][网络流] LOJ #536. 「LibreOJ Round #6」花札

SolutionSolutionSolution 这是一个Undirected Vertex Geography。 可以 O(n3)O(n3)\mathcal{O}(n^3) 对每个点得到答案。 UVG游戏中 (G,v)(G,v)(G,v) 即图 GGG 中先手在 vvv 必胜的充要条件是 vvv 在所有最大匹配中。 证明: (充分性:)假设 vvv 在包含它的最大匹配 MMM 中: ...

Vectorxj的博客 833

BZOJ 1082 [二分][广搜]

1083: [SCOI2005]繁忙的都市 Description   城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造。城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个交叉路口之间最多有一条道路相连接。这些道路是双向的,且把所有的交叉路口直接或间接的连接起来了。每条道路都有一个分值,分值越小表示这个道路越繁忙,越需要进行改造

Vectorxj的博客 755
上一篇: [杂题]Codeforces 663C. Graph Coloring
下一篇: [DP]BZOJ 4321: queue2
Vectorxj
博客等级 码龄11年 35粉丝 231原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值