自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Dijkstra(反向建图)

Destination最短路建立两个点 0 和 n+1,让所有 a[i] 为偶数的点与 0 连一条价值为零的边,让所有 a[i] 为奇数的点与n+1 连一条价值为零的边。对于 i - a[i] 和 i + a[i],如果可以到达,就连一条价值为 1 的边。对于偶数点,到达 n+1 的最短路径就是答案。对于奇数点,到达 0 的最短路就是答案。最短路的dij算法是求起点到其他所有点的距离,所以需要反向建图得到其他所有点到某个点的最短了。#include <bits/stdc++.h>

2021-08-23 10:34:49 563

原创 快速乘模板

Destination#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<map>#include<stack>#include<string>#include<cstdlib>#include<queue>#include<v

2021-08-23 08:42:53 157

原创 多重背包的可行性问题

题destination#include <iostream>#include <cstring>#include <algorithm>#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<map>#include<string>#i

2021-08-21 13:24:52 199

原创 多源BFS模板题

D.最近的商店(比赛中叫 不会吧不会有人觉得这不是签到吧)Time limit:1 secondsMemory limit:64 megabytes​ 协会成员马上要入住算协小镇了!他们不想去一个离自己很远的商店,因此每个人都想知道离自己房子最近的商店有多远。​ 他们向你求助,希望你能帮他们做一个标有商店距离的平面图。​ 算协小镇上的房子严格按照n ∗ m n * mn∗m的点阵建造,其中分布有居民楼和商店,距离按照每个单元格进行计算(横与纵坐标差之和)。输入​ 第一行输入n nn和m mm,

2021-08-15 19:43:28 139

原创 树状数组(求逆序对及离散化)

#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N = 2000010;typedef long long LL;int n;//t[i]表示树状数组i结点覆盖的范围和int a[N], t[N];//Lower[i]表示左边比第i个位置小的数的个数//Greater[i]表示左边比第i个位置大的数的个数int Lower[

2021-08-13 17:26:57 66

原创 DFS(记忆化搜索)

THEME#include <cstdio>#include <iostream>using namespace std; int a[110][110],f[110][110];int r,c;int MAX,maxn,ans;int dx[4]={0,0,1,-1};int dy[4]={1,-1,0,0}; int dfs(int x,int y){ int i; if(f[x][y]!=0) return f[x][y.

2021-08-11 19:39:39 247

原创 最短路径(Dijkstra、Floyd)

Dijkstra:THEME#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<map>#include<string>#include<cstdlib>#include<queue>#include<vector>#define

2021-08-06 21:04:34 79

原创 二进制枚举+三进制枚举

theme#include<bits/stdc++.h>using namespace std;#define ios ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)#define ll long long#define PI acos(-1)#define INF 0x3f3f3f3fconst int N=1e6;int c[20],n,m,x,a[20][20],ans=INF;int main(){ ios; cin&g

2021-07-28 09:25:21 190

原创 二位前缀和及二维差分

二维差分及二维前缀和AC代码:#include<bits/stdc++.h>using namespace std;#define ios ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)#define ll long long#define PI acos(-1)#define INF 0x3f3f3f3fconst int N=1e6+9;int a[N][N],b[N][N],c[N][N];int main(){ ios

2021-07-28 08:45:52 87

原创 相关字符操作

int a = atoi(num.c_str()); // atoi() 函数可以把 char数组里的数字转化为 整型, c_str() 表示把string转化为 char 数组[thmem](https://vjudge.ppsucxtt.cn/contest/447446#problem/J)```

2021-07-16 21:22:41 67

原创 结构体内重载运算符

结构体内重载运算符struct student{ string name; int sum; //bool operator < (const student a) const{ // return this->sum>a.sum;(第一种重载形式) bool operator <(const student & a) const{ return sum>a.sum;(第二种重载形式) }};...

2021-07-16 09:38:55 759

原创 DFS根节点大小(一块分成两块)

Theme#include<bits/stdc++.h>using namespace std;const int N=1e5+100;vector<int> G[N];long long depth[N],siz[N];long long w[N]; void DFS(int u,int fa){ siz[u]=w[u]; //depth[u]=depth[fa]+1; for(int v:G[u]){ if(v==fa) continue; DFS

2021-05-09 09:34:14 76

原创 BFS(最短路径问题)

简单最短路径问题Theme#include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<queue>#include<cmath>#include<vector>//#include<pair>using namespace std;const int N=333;int dis[N][N],

2021-05-09 08:27:42 335

原创 【杭电oj】1251-统计题

题目其实这个题的思路是很有意思的,在读取单词表的时候用一个map将每个单词的所有的前缀都存起来,查询的时候直接访问键值就可以了。str.substr(pos,i)的意思就是从pos位置开始的长度为i的子串。getline(cin, s); //默认为回车符,若以其他符号为分隔符,改为getline(cin, s, ','),例如逗号代码:#include <bits\stdc++.h>#include <map>using namespace std;int m

2021-04-22 21:20:53 247 1

原创 二分,前缀和,差分,lower_bound(),upper_bound()

二分查找:while(l<=r){//二分查找,需先排序再查找 int mid=(l+r)/2; if(a[mid]==4){//查找4 cout<<mid<<endl; break; } if(a[mid]>4){ r=mid-1; } else{ l=mid+1; } }前缀和:#include<bits\stdc++.h>using namespace std;int main(){/

2021-04-22 20:52:56 151

原创 4.stack和queue

4.stack和queue栈(stack)和队列(queue)各自封装在#include和#include中。定义方法为:stack<int> st;//先进后出queue<int> q;//先进先出优先队列:定义:他的返回队列首元素是top与栈的相同;priority_queue<int> a; //int类型按从大到小排序...

2021-04-21 11:31:57 44

原创 map嵌套例题以及map输出

例题:map嵌套#include<bits/stdc++.h>using namespace std;int main(){ int T,n,amount,i; string place,fruit; map<string,map<string,int>>a; cin>>T; while(T--) { cin>>n; a.clear(); for

2021-04-20 16:25:58 251

原创 c++入门(结构体,vector,set)

新生入门:1:结构体结构体的创建:struct abc{ int a; char b; };结构体的命名:abc hh;结构体的引用:hh.a;2:vector#include<iostream>#include<vector>using namespace std;int main(){ int n,x; cin>>n; vector<int> a(n,5);//此表示有n个元素且全都初始为5// for(

2021-04-20 10:52:20 345

转载 C / C++ 保留两位小数(setprecision(n)的一些用法总结)

首先说C++代码#include //不要忘了头文件1//第一种写法cout<<setiosflags(ios::fixed)<<setprecision(2);12//第二种写法cout.setf(ios::fixed);cout<<setprecision(2);123//第三种写法cout<<fixed<<setprecision(2);12要保留几位小数setprecision(n)的括号里n就换成几。

2021-01-22 19:19:59 5212

原创 python 生日悖论概率计算。

from random import randint def list_birth(): list_birth=[] for i in range(23): x=randint(1,12) if x in [1,3,5,7,8,10,12]: y=randint(1,31) elif x==2: y=randint(1,28) else: y=rand.

2020-12-14 16:24:23 2721 2

空空如也

空空如也

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

TA关注的人

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