自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 洛谷P1219

洛谷P1219 思路 就是暴力dfs深搜 遍历每一行看看是否与前面几行有冲突如果没冲突就继续往下一行搜索直到N行搜完便可以返回 对于这题的数据来说如果这样暴力搜索的话就是超时的 超时代码 #include<bits/stdc++.h> using namespace std; int sum=0; int n; const int maxn=15; int pos[maxn];//这个数组记录的是每行放棋子时候是第几列 void dfs(int x) { if(x==n+1) {

2021-06-27 10:07:10 579 1

原创 POJ3255(次最短路)

POJ3255 题意 某街区共有R条道路,N个路口道路可以双向通行。问1号路口到N号路口的次最短路长度是多少?同一条边可以经过多次。 dis数组用来求最短路 dis2数组用来求次短路 思路 这道题找的是次短路而不是最短路 如果是次短路的话我们是不是需要找到每一个点的次短路 也就是再用一个dis2数组来存这个次短路 然后就不断更新他们的最短距离与此短距离 我wa了十遍的原因是swap(dis[p],dd) 没想到还有这种情况 AC代码 #include<iostream> #include&

2021-06-25 21:44:07 381

原创 洛谷P2384最短路

P2384传送门 思路 这道题与板子题不同的是 问的是乘积最大 但是如果是乘积最大的话看数据按照常规思路肯定会爆的 但是需要取模的你就不能确定谁的乘积很大了 如果用对数来算的话是不是就可以将乘积与加法连接起来了 比如log a +log b==loga*b 如果路径乘积大于你的话 那么是不是我的对数和也是大于你的如果知道这就好了 而且还需要注意的东西是如果我们能找到最短路径的最小值 是不是根据路径回溯还可以找到路径的轨迹 找到轨迹的话你就可以把起点到终点的所有边全部乘起来取模了 AC代码 #in

2021-06-22 16:22:05 259

原创 洛谷p3379最近公共祖先(LCA)

首先明确一下什么叫做最近公共祖先 对于一个树来说 最近公共祖先是两个结点公共祖先中距离根结点最远的那个祖先 也可以说成是深度最大的那个祖先 思路 首先 用最朴素的想法来思考 如果你想找到一个最近公共祖先 那是不是先得让这两个结点处于同一高度的时候 比较这他俩是不是同一个点呢? ①如果是的话我们就找到了他俩的最近公共祖先 答案就是这个点 ②如果不是的话 我们是不是还得让这两个点往上爬 每爬一步就去比较这两个点是不是同一个点 直到两个点是同一个点的时候 那么此时就是最近公共祖先 这有个暴力的代码 看一...

2021-06-21 20:55:57 465

原创 洛谷P2580 于是他错误的点名开始了

洛谷P2580 这是一个字典树的问题 如果不了解的话可以去看看这篇文章字典树写的非常好 AC代码 #include<bits/stdc++.h> using namespace std; const int maxn=1e6+5; int mp[maxn][30]; int node=1; int vis[maxn],ans[maxn]; void insert_(char s[]) { int p=0; int len=strlen(s); for(int i=0;i<len;

2021-06-18 21:20:36 135

原创 HDU3790最短路径问题优先队列

传送门 hdu3790 这道题不仅要求最短距离而且还需要求最少路费 在更新路径距离的时候也需要对路费进行更新 只不过需要注意的一点是 当距离相同是路费最少是最优选择 AC代码 #include<bits/stdc++.h> using namespace std; const int maxn=1e3+7; typedef pair<int,int> pii; vector<pii>edge1[maxn]; vector<pii>edge2[maxn]

2021-06-17 20:27:46 226

原创 HDU1874畅通工程续

传送门 HDU1874 最短路的堆优化版本复杂度为O(nlogn) 每次从队列弹出的都是当前距离最短的点 然后 AC代码 #include<bits/stdc++.h> using namespace std; const int maxn=1e3; const int inf=0x3f3f3f3f; typedef pair<int,int> pii; vector<pii>edge[maxn]; priority_queue<pii,vector<pi

2021-06-16 18:26:48 118

原创 HDU1232畅通工程

传送门 hdu1232 这个只需要看哪几个村庄是在一个集合内也就是在一个连通图内,找到整个图中有几个连通图进行了 然后减一就是需要修的最少路的数目 AC代码 #include<bits/stdc++.h> using namespace std; const int maxn=1e3; int pre[maxn],n,m; void init()//初始化每个点的祖先都是自己 { for(int i=1;i<=n;i++) { pre[i]=i; } } int find1

2021-06-16 13:13:13 197

原创 HDU1711(kmp)

板子题 思路 这个是整数数组(其实和字符的一样)也是字符串匹配(kmp) 当存在第一个匹配成功的子串时候 找到母串中开始匹配字母的下标 我这里数组下标并没有从1开始(我这里是从0开始 所有到最后结果需要多加一。 传送门 HDU1711 AC代码 #include<bits/stdc++.h> using namespace std; const int maxn=1e6+9; int nex[maxn]; int s1[maxn],s2[maxn],n,m; void get_

2021-04-06 14:09:40 248

原创 KMP字符串匹配(HDU2087)

kmp算法(这个东西我真的是学了好长时间呀 所幸就记录下来吧) 用暴力的算法那么就是O(n*m) 但是用kmp算法就是O(n+m)这样速度就快多了 s1代表母串 s2代表字串 kmp的关键是当你的字串与母串在匹配的过程中 当存在子串的字符与母串的字符不相等时 你并不是像暴力那样 再重头去匹配 而是将子串中需要匹配的字符跳到下标为j=next[j]处 然后再让字串中下标为j+1的字符与母串中下标为i的字符进行匹配 (因为此时s2[0]到s2[j]==s1[i-j-1]到s1[i-1]全部相等) 如果匹

2021-04-04 21:18:34 422 2

原创 拓扑排序(hdu1285 hdu2647)

传送门 hdu1285 确定比赛名次 拓扑排序板子题 这个需要用到优先队列 在队列中对于序号小的先弹出 在建图的时候 对于某条边后面的那个点 入度需要加一 而且入度为0的点一开始需要压入队列 #include<bits/stdc++.h> using namespace std; const int maxn=1e5; int in[maxn];//入度 priority_queue<int,vector<int>,greater<int> >q; vec

2021-04-03 13:17:39 175

原创 最短路径HDU2544

写一下单源最短路径 使用堆优化 使用的是pair。 我感觉这个最短路径就是只要找到比当前这个点最短的路径那么就更新它。然后在把这个点以及这个点放入优先队列中,然后逐步的这样进行,当队列为空的时候,所有点的距离就更新完毕。此时就可以找到源点到每一个点的距离了。 HDU2544 #include<bits/stdc++.h> using namespace std; const int maxn=1e4+5; typedef long long ll; typedef pair<int,in

2020-11-24 21:29:32 263

原创 Circle Metro CodeForces - 1169A

传送门 The circle line of the Roflanpolis subway has nn stations. There are two parallel routes in the subway. The first one visits stations in order 1→2→…→n→1→2→…1→2→…→n→1→2→… (so the next stop after st...

2019-11-27 22:03:20 293

原创 Kefa and Park CodeForces - 580C

传送门 Kefa decided to celebrate his first big salary by going to the restaurant.He lives by an unusual park. The park is a rooted tree consisting of n vertices with the root at vertex 1. Vertex 1 also c...

2019-11-25 20:41:23 192

原创 HDU-6576 Worker

Worker HDU-6576 Problem Description Avin meets a rich customer today. He will earn 1 million dollars if he can solve a hard problem. There are n warehouses and m workers. Any worker in the i-th wareho...

2019-11-13 13:22:57 333

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除