自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 湖大重现B.Yuki with emofunc and playf

题面:题面 思路:bfs,对n取模,并标记减少内存消耗 #include<bits/stdc++.h> #define ll long long using namespace std; ll n,x; bool vis[1000500]; int main(){ scanf("%lld%lld",&n,&x); if(n==1) printf("0\n"); else { queue<pair<ll,ll>

2021-07-24 22:10:27 121

原创 湖大重现L.Cracked Pipes

题面:题面 思路:建边直接跑dfs #include<bits/stdc++.h> #define ll long long using namespace std; map<int,map<int,int> >mp,a; bool t[10][5]; bool flag; int n,m; int dx[5]={-1,0,1,0}; int dy[5]={0,1,0,-1}; void dfs(int x,int y,int to){ if(x==n&&

2021-07-24 20:34:48 95

原创 2021牛客暑期多校训练营1.Game of Swapping Numbers

Game of Swapping Numbers 题意:给长度为 n的A、B两组序列,要求交换A中的两个不同元素,恰好进行K次交换。使得A、B对应位置的数之差的绝对值加起来尽可能大,输出这个值。 思路: 1.有效交换:min(a1,b1)>max(a2,b2),则交换为有效交换,交换答案增加了2*(min(a1,b1)-max(a2,b2))。 2.因为计算的是a,b的差值,交换a,b对答案无影响。 #include<bits/stdc++.h> using namespace std;

2021-07-24 11:05:46 86

原创 2021牛客暑期多校训练营1.Alice and Bob

2021牛客暑期多校训练营1.Alice and Bob 题意:两人博弈,两堆石头,每次操作,从一堆取 k 个(k>0),同时从另一堆取ks个(s>=0),拿走场上最后石子的人胜利。 思路:由所有已有的先手必败状态,筛选出新的状态,若(i,j)先手必败,则(i+x,j+xy)和(i+x*y,j+x)也为先手必胜 #include<bits/stdc++.h> using namespace std; bool vis[5005][5005]; void pre()//预处理 { f

2021-07-24 10:25:36 93

原创 区间dp

区间dp 核心思路 区间dp,利用分治的思想,在区间上进行动态规划,分成小区间来解决,再通过合并小区间来得到整个大区间的解。 板子题 石子合并1:有n堆石子排成一列,每堆石子有一个重量w[i], 每次合并可以合并相邻的两堆石子,一次合并的代价为两堆石子的重量和w[i]+w[i+1]。问安排怎样的合并顺序,能够使得总合并代价达到最小。 题目链接 解题思路: 状态转移方程: dp[i][end]=min(dp[i][end],dp[i][j]+dp[j+1][end]+sum[end]-sum[i-1]); #

2020-06-02 23:12:25 122

原创 扩展欧几里得算法

扩展欧几里得算法算法的背景算法的基本应用算法的code模板题 算法的背景 扩展欧几里得算法是欧几里得算法(又叫辗转相除法即给予整数a,b求其最大公约数)的扩展。而扩欧算法还能找到整数x,y使得ax + by = gcd(a,b)。 算法的基本应用 求解不定方程:求解不定整数方程ax+by = c 1.该方程有解的充要条件为:c%gcd(a,b)=0。 2.若有解,可利用扩欧算法求出其特解(X0,Y0)。 3. 若(X0,Y0)是不定整数方程ax+by = c的一组解,则不定方程大的特解可表示为(X0+ k

2020-05-26 15:21:21 150

原创 tire树

tire树 基本原理 字典树:一种树形结构,典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串)。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较。其基本操作有:查找、插入和删除,删除操作比较少见。 基本操作 1.insert,插入一个单词 void insert(string s) { int l=s.size(); int rt=0; for(int i=0;i<l;i++) { int p=s[i]-'a';

2020-05-16 16:57:36 287

原创 kmp算法

kmp算法算法的目的算法的思想模板题HDU 1711 Number SequenceHDU 1686 Oulipo 算法的目的 kmp算法:KMP算法是一种改进的字符串匹配算法,利用匹配失败后的信息,尽可能地减少模式串与主串的匹配次数以达到快速匹配的目的。 例如:在主串t中寻找模式串w出现的位置,若用暴力的算法要对主串中的每个位置对w进行匹配,故时间复杂度为o(mn),而在KMP算法中,在匹配失...

2020-05-07 15:07:56 142

原创 dijkstra算法堆优化

dijkstra算法堆优化 dijkstra算法:每次选一个点,更新邻点,循环n-1次。 在实现dj算法的过程中,我们需要有存图结构(邻接表或邻接矩阵),时间复杂度为o(n2),在数量级较大的题目中显然不满足要求,这时就需考虑dijkstra算法的优化。 堆优化:优化dijkstra算法从头至尾的扫描的过程,使用小根堆,利用优先队列来维护查找并更新最小距离的点。 代码如下: #include&lt...

2020-05-05 14:23:07 755

空空如也

空空如也

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

TA关注的人

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