首页 > 其他分享 >2023五一外出学习整理

2023五一外出学习整理

时间:2023-04-30 21:22:35浏览次数:58  
标签:度数 个点 哈密顿 奇数 int 2023 回路 外出 五一

DAY1:

上午:

引入:

 对任意两个元素a,b之间关系(a,b)的取值仅为 True 或者 False,可以考虑使用图来抽象。这样我们称一个元素 a 为一个结点,(a,b)== True 则称结点 a,b 间有连边,否则 a,b 间没有连边。

 问题转化:一张奇数个点的图 G,证明存在一个点度数为偶数。

转化为更强的问题为:给定一张奇数个点的图 G,证明度数为偶数的点的个数为奇数。

(相反的问题:给定一张奇数个点的图 G,证明度数为奇数的结点的个数为偶数。)

证明:考虑所有点的度数和,由于一条边会被计算到两个结点的度数上,故其必定为偶数。(小学数学易得结论?)

 

Ex.1:首先可证 n-1 个点与除它之外 n-2 个点连边所以可连 (n-1)(n-2)/2 条边,因此可得 n 个点和至少 ((n-1)(n-2)/2)+1 条边的图是连通图。

Ex.2:

 由图可得,对于任意一个图,可将其分为若干个连通块,连通块内部各点都相连,因此其补图原来的连通块内各点于其他各连通块各点相连,因此一定是联通的。

Ex.3:

任意两边至少有一个点是重合的,即为如图:

 因此当为完全图时,每点度数>=2,因此不可能为星星,反之亦然。

Ex.4:***

Ex.5:分类讨论,

当存在度数为一的点时,删掉度数为一的点剩下的图依旧是连通图。

当不存在时,选择任意一点为起点,计算其他点与起点的距离,删掉距离起点最远的点后,图依旧为连通图。

欧拉回路和哈密顿回路:

1)考虑一个度数为奇数的点,因为它的所有邻边均要遍历恰好一次,故其必须为欧
拉路径的起点或终点。因此可以立即推出,一张存在欧拉路径的图恰好有两个度数为奇数
的点,存在欧拉回路的图没有度数为奇数的点。

2)任意两个回路,可以拼成一个大的回路。

由这两个观察可以发现,Fact 1是存在欧拉路径或者欧拉回路的充要条件。

反证法,假设没有哈密顿回路。

我们由图 G 构造出一个新的没有哈密顿回路的图 G',具体的,令 G'=G,对于每条不在图 G 中的边,如果加入 G' 后不会产生哈密顿回路,则加入,该构造的顺序不重要。

此时我们得到了一个图 G',再加入任何一条边都会得到一条哈密顿回路,并且由于我们仅加入了新的边,所有结点的度数任然大于等于 n/2。

假设 (v1,vn) 这条边不在 G' 中,我们知道必定存在一条哈密顿路径 v1,v2,...,v考虑 (v1,vi) 有一条边,则 (vi-1,vn) 必定不能有边,否则可以构造出一条哈密顿回路。

因为这样的 vi 至少有 n/2 个,从而这样的 vi-1 也至少有 n/2 个,又由于 vn 不能和自己连边,故而它至多与 n-n/2-1 个点连边,<=n/2 ,因此与定理矛盾,因此假设不成立。

 Ex.6:因为两数互质,因此间隔至少为2,又因为有 n+1,个小于等于 2n 的正整数,所以显然,存在两个数互质。

Ex.7:...

Ex.8:将棋盘进行黑白染色和蓝红染色

Ex.9:Luogu P1341

 1 //By:Komorebi_03
 2 #include<bits/stdc++.h>
 3 using namespace std;
 4 #define clear(a) memset(a,0,sizeof a)
 5 #define ll long long
 6 const int N = 1e3+5;
 7 int n,sum,dis[N][N];
 8 char in[N],a[N];
 9 inline int read()
10 {
11     int x=0,f=1;char ch=getchar();
12     while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
13     while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
14     return x*f;
15 }
16 
17 void Find(int i)
18 {
19     for (int j=1;j<=150;j++)
20     {
21         if(dis[i][j]>0)
22         {
23             dis[i][j]--;
24             dis[j][i]--;
25             Find(j);
26         }
27     }
28     a[++sum]=i;
29     return ;
30 }
31 
32 int main()
33 {
34     n=read();
35     for (int i=1;i<=n;i++)
36     {
37         string s;
38         cin>>s;
39         dis[s[0]][s[1]]++;
40         dis[s[1]][s[0]]++;
41         in[s[0]]++;
42         in[s[1]]++;
43     }
44     int h=0;
45     int cnt=0;
46     for (int i=1;i<=150;i++)
47     {
48         if(in[i] & 1)
49         {
50             cnt++;
51             if(!h)
52                 h=i;
53         }
54     }
55     if(!h)
56     {
57         for (int i=0;i<150;i++)
58         {
59             if(in[i])
60             {
61                 h=i;
62                 break;
63             }
64         }
65     }
66     if(cnt && cnt!=2)
67     {
68         cout<<"No Solution";
69         exit(0);
70     }
71     Find(h);
72     if(sum<n+1)
73     {
74         cout<<"No Solution";
75         exit(0);
76     }
77     for(int i=sum;i>=1;i--)
78         cout<<a[i];
79     return 0;
80     //Amireux_35
81 }
P1341

图的储存和遍历:

 

标签:度数,个点,哈密顿,奇数,int,2023,回路,外出,五一
From: https://www.cnblogs.com/G7526122/p/17365793.html

相关文章

  • 【书】大概看过-2023年
    更新时间:2023年4月30日共计:3本Color:AnIntroductiontoPracticeandPrinciples阅读时长开始时间2022年12月26日结束时间2023年2月18日约55天PracticalElectronicsforInventors,4E阅读时长开始时间2022年1月1日2022年1月1......
  • 中国平安将在2023年出现转机,复苏才刚刚开始
    在解封后股价出现短暂反弹之后,由于市场担忧中国平安(02318)人寿保险部门新业务NBV(用于衡量寿险公司新业务价值的一个重要指标,当一家保险公司的NBV指标越高,那么说明每新增部分保费对公司今年净利润的贡献度也将越大)的复苏速度,中国平安的股价再次出现了下跌。鉴于人寿保险是中国平安......
  • THUSC 2023 游记
    我又双叒叕决定开始写游记了,这次不知道能坚持多少天(Day-6现在衡中都已经放假了,然后我们不放,等夏令营考完再放假。想要颓废。想要颓废。想要颓废。想要颓废。想要颓废。模拟赛考了三个类模拟,T3题目背景是Patrick'sParabox。这个我熟啊!然后给Kaguya推了\(\infty\)次,并且......
  • 《聪明》2023.4.30
    Inaworldgoneshallow在这逐渐流于肤浅的世界里Inaworldgonelean在这缓慢倾斜的宇宙洪流中Sometimesthere'sthingsamancannotknow有些事有时候是人们无法得知的Gearswon'tturnandtheleaveswon'tgrow齿轮无法转动,树叶停止生长——《StayAlive》José......
  • C/C++《程序设计基础II》[2023-04-30]
    C/C++《程序设计基础II》[2023-04-30]2022级计算机专业《程序设计基础II》小组项目作业作业要求:1.分小组完成,2-4人一组(每个题目后面有人数要求,见附件1);2.任课老师按小组分配任务;3.作业时长为1周;4.提交内容为:WORD文档,内容包括:题目内容、算法分析、代码实现(要求加注释)、运行结......
  • 2023-4-30 #52.75 如果再次试着踏上 那条轨迹不可改变的结局
    Ptz2022SummerDay4IvanKazmenkoContest3B:若\(n\)为奇数,我们只需取补集;否则我们保留\(n\)是否存在,并将\(2\cdotsn\)取反(std做法:插入删除\(1\))。D:信息量只有\(2^{70}\)级别,将值域分为\(70\)块,每个块分别决定是否保留所有数,一个块期望会有比较多的数,被失真后仍......
  • 主题Cnblogs-Theme-SimpleMemory-2023-04-30
    前言好久没来看CnBlog,准备更换一下主题,就记录下原主题,并感谢作者提供的这么好看的主题。主题文档地址:Cnblogs-Theme-SimpleMemory主题预览主题设置主题配置代码侧边栏公告HTML<scripttype="text/javascript">window.cnblogsConfig={cnzz:"1280245......
  • 师大 2023.04 总结
    题目1:P10011A第1次提交提交通过。每次减去\(\max(n-n/2,x)\),边减边计数。题目2:P10021A第1次提交提交通过。\(cnt\)表示字符串有\(cnt\)对对应的字符不同。对于每组询问,因为只改变一个字符,看改变字符改变前和改变后和对应字符的关系(相同或不同),以改......
  • 2023.17 6个问题让chatgpt帮你搞懂新行业
    1、介绍一下麦肯锡通过搞懂一个行业100个关键词来快速了解这个行业的方法。2、根据各项调查、行业报告、新闻、研究论文帮忙整理某个行业的100个关键词,并根据关联性强弱分类。3、用一句话来定义或概述上述100个关键词。4、行业中领先的前10位公司是哪些?5、哪些因素会阻碍行业的进......
  • day60(2023.4.29)
    1.JavaScript简介 2.JavaScript语句、标识符 3.变量 4.JavaScript引入到文件 5.JavaScript注释与常见输出方式 6.数据类型 7.typeof运算符 8.运算符之算术运算符 9.运算符之赋值运算符 10.运算符之比较运算符 11.......