题目链接:http://uoj.ac/problem/117 题目大意: 解题思路:先判断度数: 若G为有向图,欧拉回路的点的出度等于入度. 若G为无向图,欧拉回路的点的度数位偶数. 然后判断连通性,并且输出路径需要用套圈法(其实我也不是很懂). 还学了一些骚操作: ①用链式前向星存图,如果是有向图,那idx隔两个存一条边,如果是无向图则idx隔一个存一条边,且idx从2开始.这样写的作用就是在寻无向图路径时可以良好地标记,比如第一条无向边里idx=2.3分别对应一条正反边,2和3除2都对应1,…
题目链接:传送门 思路: (1)用邻接表存储有向图和无向图,有向图和无向图的每条边均站两个单元,无向图有正向边和反向边的区分. (2)有向图有欧拉回路:所有点的入度=出度: 无向图有欧拉回路:所有点的度数之和是2的倍数. (3)搜索时要从存在的点开始搜索,注意每条边站两个单位,所以i/2. (4)搜索的结果路径必须包含所有边,如果图不连通则不行. #include<iostream> #include<cstdio> #include<cstring> #include…
Problem UVA10054-The Necklace Time Limit: 3000 mSec Problem Description Input The input contains T test cases. The first line of the input contains the integer T. The first line of each test case contains an integer N (5 ≤ N ≤ 1000) giving the number o…
题意: 给两个数n, k,每次将k平方取k的前n位,问所有出现过的数的最大值 原来这就是floyd判圈法.. #include<cstdio> #include<cstdlib> #include<algorithm> #include<iostream> #include<cstring> #include<string> template<typename Q> Q read(Q& x) { static ch…
破圈法求解最小生成树c语言实现(已验证) 下面是算法伪代码,每一个算法都取一个图作为输入,并返回一个边集T. 对该算法,证明T是一棵最小生成树,或者证明T不是一棵最小生成树.此外,对于每个算法,无论它是否能计算出一棵最小生成树,都要给出其最有效的实现. MAYBE-MST-A(G,w) Sort the edges into nonincreasing order of edge weights w T<-E For each edge e, taken in nonincreasing ord…
Evacuation Plan Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4914   Accepted: 1284   Special Judge Description The City has a number of municipal buildings and a number of fallout shelters that were build specially to hide municipal w…
题意 给一个无向加权联通图,没有重边和环.在这个图中可能存在多个最小生成树(MST),你可以进行以下操作:选择某条边使其权值加一,使得MST权值不变且唯一.求最少的操作次数. 分系:首先我们先要知道为什么会出现多个最小生成树的情况? 因为有些边的权值是相同的 , 所以在构造最小生成树的时候 ,我们是可以选择不同的边 , 构造出不同的最小生成树: 如果我们要是生成的最小生成树是唯一的 , 那我们每一次的加边十都只能是一种选择 也就是说,在构造过程的某一次抉择中,如果有多条边,他们的权值均最小,且合…
Bryce1010模板 /**** *扩展欧几里得算法 *返回d=gcd(a,b),和对应等式ax+by=d中的x,y */ long long extend_gcd(long long a,long long b,long long &x,long long &y) { if(a==0&&b==0)return -1;//无最大公约数 if(b==0){x=1;y=0;return a;} long long d=extend_gcd(b,a%b,y,x); y-=a/b…
最近在看 C++ 的方法和类模板,我就在想 C# 中也是有这个概念的,不过叫法不一样,人家叫模板,我们叫泛型,哈哈,有点意思,这一篇我们来聊聊它们底层是怎么玩的? 一:C++ 中的模板玩法 毕竟 C++ 是兼容 C 语言,而 C 是过程式的玩法,所以 C++ 就出现了两种模板类型,分别为:函数模板 和 类模板,下面简单分析一下. 1. 函数模板的玩法 玩之前先看看格式: template <typename T> rettype funcname (parameter list) { }. 说…
 题目链接 /* 模板题-------判断欧拉回路 欧拉路径,无向图 1判断是否为连通图, 2判断奇点的个数为0 */ #include <iostream> #include <cstring> #include <vector> #include <cstdio> using namespace std; struct DisjoinSet {//并查集判断是否连通 vector<int> father, rank; DisjoinSet(i…
LINK 题目大意 就是让你对有向图和无向图分别求欧拉回路 非常的模板,但是由于UOJ上毒瘤群众太多了 所以你必须加上一个小优化 就是每次访问过一个边就把它删掉 有点像Dinic的当前弧优化的感觉 注意是在dfs完一个节点把当前的边加入到栈里面 然后输出的时候为了保证原来的顺序就直接弹栈就好了 //Author: dream_maker #include<bits/stdc++.h> using namespace std; //--------------------------------…
http://poj.org/problem?id=2175 Evacuation Plan Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3256   Accepted: 855   Special Judge Description The City has a number of municipal buildings and a number of fallout shelters that were build…
最近做了几个项目,都有在产品贴标的需求 基本就是有个证卡类打印机,然后把产品的信息打印在标签上. 然后通过机器人把标签贴到产品上面 标签信息包括文本,二维码,条形码之类的,要根据对应的数据生成二维码,条形码. 打印标签的需求接到手后,开始了我的填坑之旅. 打印3.0源代码:https://github.com/zeqp/ZEQP.Print 打印1.0 第一个项目开始,因为原来没有研究过打印,所以在Bing上查了一下.Net打印机关的资料 发现基本上都是基于.net的System.Drawing…
递归 递归算法是指一般通过函数或子进程来实现,在函数或子进程的内部,直接或间接地调用自己的算法,说白了就是自己调自己 注: 1.在使用递归的时候,必须要有一个递归出口,即一个明确的结束条件,否则就是死循环 2.递归算法解题通常显得很简洁,但递归的运行效率较低,一般不提倡使用 3.递归要一层一层的进,然后在一层一层的出,所以因此想拿到最里面一层的局部变量的值,靠return是很难拿到的(至少我不会) 4.Python3中允许的最大递归层数目前是999层 # 函数实现 def fibonacci(a…
题意是求出所给各点中最近点对的距离的一半(背景忽略). 用分治的思想,先根据各点的横坐标进行排序,以中间的点为界,分别求出左边点集的最小距离和右边点集的最小距离,然后开始合并,分别求左右点集中各点与中间点的距离,从这些距离与点集中的最小距离比较,求得最小距离,此处可按纵坐标排序,将纵坐标距离已经大于之前最小距离的部分都剪枝. 代码如下: #include <bits/stdc++.h> using namespace std; ]; struct point { double x,y; }p[…
题目链接 Simpson积分公式:\[\int_a^bf(x)dx\approx\frac{b-a}{6}\left[f(a)+f(b)+4f(\frac{a+b}{2})\right]\] 推导过程大概就是,令\(f(x)=Ax^2+Bx+C\),代进去求一下积分就好了? 自适应是指根据区间大小控制精度.满足精度要求时直接返回. 那个,有人知道asr是指什么吗..(什么的缩写?) //0ms 1.7MB #include <cmath> #include <cstdio> #in…
1.简介 Prim算法是图论中的一种算法,可在带权连通图里搜索产生最小生成树. 该算法于1930年由捷克数学家沃伊捷赫·亚尔尼克(Vojtěch Jarník)发现:并在1957年由美国计算机科学家罗伯特·普里姆(Robert C. Prim)独立发现:1959年,艾兹格·迪科斯彻再次发现了该算法. Prim算法从任意一个顶点开始,每次选择一个与当前顶点集最近的一个顶点,并将两顶点之间的边加入到树中,在找当前最近顶点时使用到了贪心算法. 预备知识(了解的跳过): 无向图.邻接矩阵.最小生成树 2…
---恢复内容开始--- http://blog.csdn.net/ruoruo_cheng/article/details/53100656 ---恢复内容结束---…
原题……可惜不会……真是一只大蒟蒻…… ———————————————————————————————— 有一天一位灵魂画师画了一张图,现在要你找出欧拉回路,即在图中找一个环使得每条边都在环上出现恰好一次. 一共两个子任务: 这张图是无向图.(50分) 这张图是有向图.(50分) 输入格式 第一行一个整数 tt,表示子任务编号.t∈{1,2}t∈{1,2},如果 t=1t=1 则表示处理无向图的情况,如果 t=2t=2 则表示处理有向图的情况. 第二行两个整数 n,mn,m,表示图的结点数和边数…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5348 题目大意:给你一张图,有n个点,和m条无向边,让你把m条无向边变成有向边,使得每个节点的|出度-入度|<=1. 解题思路:先找出所有度数为奇数的点入队,然后依次从这些奇数点开始dfs到另一个奇数点停止.那样就能保证图中是剩下偶数点了,剩下的偶数点肯定会形成欧拉回路(若干个),有套圈法判断路径方向即可. 代码: #include<iostream> #include<queue&g…
欧拉回路:图G,若存在一条路,经过G中每条边有且仅有一次,称这条路为欧拉路,如果存在一条回路经过G每条边有且仅有一次, 称这条回路为欧拉回路.具有欧拉回路的图成为欧拉图. 判断欧拉通路是否存在的方法 有向图:图连通,有一个顶点出度大入度1,有一个顶点入度大出度1,其余都是出度=入度. 无向图:图连通,只有两个顶点是奇数度,其余都是偶数度的. 判断欧拉回路是否存在的方法 有向图:图连通,所有的顶点出度=入度. 无向图:图连通,所有顶点都是偶数度. 程序实现一般是如下过程: 1.利用并查集判断图是否…
欧拉图 本文链接:http://www.cnblogs.com/Ash-ly/p/5397702.html 定义: 欧拉回路:图G的一个回路,如果恰通过图G的每一条边,则该回路称为欧拉回路,具有欧拉回路的图称为欧拉图.欧拉图就是从图上的一点出发,经过所有边且只能经过一次,最终回到起点的路径. 欧拉通路:即可以不回到起点,但是必须经过每一条边,且只能一次.也叫"一笔画"问题. 性质: 欧拉回路:一个欧拉回路,删掉一个点,仍然是一个欧拉回路.从一个欧拉回路拖走一个小欧拉回路,结果也是一个欧…
转:https://www.cnblogs.com/Ash-ly/p/5397702.html 定义: 欧拉回路:图G的一个回路,如果恰通过图G的每一条边,则该回路称为欧拉回路,具有欧拉回路的图称为欧拉图.欧拉图就是从图上的一点出发,经过所有边且只能经过一次,最终回到起点的路径. 欧拉通路:即可以不回到起点,但是必须经过每一条边,且只能一次.也叫"一笔画"问题. 性质: 欧拉回路:一个欧拉回路,删掉一个点,仍然是一个欧拉回路.从一个欧拉回路拖走一个小欧拉回路,结果也是一个欧拉回路. 判…
本文链接http://i.cnblogs.com/EditPosts.aspx?postid=5402042 题意: 给你N个单词,让你把这些单词排成一个序列,使得每个单词的第一个字母和上一个字单词的最后一个字母相同(栗如:acm,malform,mouse),每个单词最多包含20个小写字母,最多1000个单词.让你输出这个序列,每两个单词之间有个'.',如果有多个解,输出字典序最小的那组解,如果无解输出"***".关于字典序,个人感觉就是把最后的序列包括'.'在内看成一个字符串,来比…
虚函数的问题 虚函数的主要问题是性能开销比较大,一个虚函数调用可能需要花费数倍于非虚函数调用的时间,尤其是当非虚函数被声明为inline时(注意,虚函数不能被内联). CRTP介绍 CRTP的全称是Curiously Recurring Template Pattern,中文可以翻译成奇异递归模板模式. template <typename T> class B { ... }; class D : public B<D> { ... }; 在CRTP模式中,基类被声明成一个类模板…
转载:https://www.cnblogs.com/jasonfreak/p/5448385.html 特征选择主要从两个方面入手: 特征是否发散:特征发散说明特征的方差大,能够根据取值的差异化度量目标信息. 特征与目标相关性:优先选取与目标高度相关性的. 对于特征选择,有时候我们需要考虑分类变量和连续变量的不同. 1.过滤法:按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数选择特征 方差选择法:建议作为数值特征的筛选方法 计算各个特征的方差,然后根据阈值,选择方差大于阈值…
#117. 欧拉回路 题目描述 有一天一位灵魂画师画了一张图,现在要你找出欧拉回路,即在图中找一个环使得每条边都在环上出现恰好一次. 一共两个子任务: 这张图是无向图.(50分) 这张图是有向图.(50分) 输入格式 第一行一个整数 tt,表示子任务编号.t∈{1,2}t∈{1,2},如果 t=1t=1 则表示处理无向图的情况,如果 t=2t=2 则表示处理有向图的情况. 第二行两个整数 n,mn,m,表示图的结点数和边数. 接下来 mm 行中,第 ii 行两个整数 vi,uivi,ui,表示第…
#117. 欧拉回路 有一天一位灵魂画师画了一张图,现在要你找出欧拉回路,即在图中找一个环使得每条边都在环上出现恰好一次. 一共两个子任务: 这张图是无向图.(50分) 输入格式 第一行一个整数 t,表示子任务编号.t∈{1,2},如果 t=1则表示处理无向图的情况,如果 t=2 则表示处理有向图的情况. 第二行两个整数 n,m,表示图的结点数和边数. 接下来 m 行中,第 i 行两个整数 vi,ui,表示第 ii 条边(从 11 开始编号).保证 1≤vi,ui≤n 如果 t=1 则表示 vi…
NP问题(Non-deterministic Polynomial ):多项式复杂程度的非确定性问题,这些问题无法根据公式直接地计算出来.比如,找大质数的问题(有没有一个公式,你一套公式,就可以一步步推算出来,下一个质数应该是多少呢?这样的公式是没有的):再比如,大的合数分解质因数的问题(有没有一个公式,把合数代进去,就直接可以算出,它的因子各自是多少?也没有这样的公式). NPC问题(Non-deterministic Polynomial complete):NP完全问题,可以这么认为,这种…
去除过水的模板,包括但不限于dijkstra(甚至堆优化都被过滤了).SPFA.kruskal.拓扑排序等. 欧拉回路:http://uoj.ac/problem/117 #include<bits/stdc++.h> using namespace std; ; ,in[N],ou[N],vis[N],hd[N],v[N],nxt[N],ans[N]; void adde(int x,int y){v[++ecnt]=y,nxt[ecnt]=hd[x],hd[x]=ecnt;} void d…