自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ray.C.L的博客

TA很懒什么都没留下

  • 博客(16)
  • 收藏
  • 关注

原创 最大数(线段树)

思路:每次插入的值和上次查询有关是动态的,所以用线段树写,那么我们一开始吧树建好操作1相当于在位置为x的地方插入数每次操作完将x++,操作2求个区间最大值。//#pragma GCC optimize(2)#include<bits/stdc++.h> using namespace std;typedef long long ll;#define SIS std::ios::sync_with_stdio(false)#define space putchar(' ')#de.

2020-11-17 11:39:47 401

原创 受欢迎的牛(强连通分量+缩点)

思路:看有多少头牛受其它所有牛欢迎,就是看这个点能不能被其他所有点到达,那么我们求一下他的联通分量,缩点后我们可以发现当只有1个联通分量的出度为0时,那么这个联通分量里面所有点点都可以被其他所有点到达,那么数量就是这个联通分量里面点的个数,当出现1个以上的出度为0 的点,那么此时都不能到达//#pragma GCC optimize(2)#include<bits/stdc++.h> using namespace std;typedef long long ll;#define .

2020-11-16 11:10:04 295

原创 新的开始(最小生成树,建立超级源点)

思路:如果去掉选择一个点建立发电站,那么答案直接就是个最小生成树,我们要在最小生成树的基础上选一个地方建立发电站,那么可以看成从一个超级源点出发到每个点的花费就是建立发电站的费用,然后算从超级源点出发的最小生成树//#pragma GCC optimize(2)#include<bits/stdc++.h> using namespace std;typedef long long ll;#define SIS std::ios::sync_with_stdio(false)#d.

2020-11-11 20:07:07 415

原创 昂贵的聘礼(最短路,建立超级源点)

思路:我们建立以个超级源点,源点到没个物品的价值代表直接购买,然后根据兑换方式进行建图,为了保证在等级限制内,因为我们必定要换到1号物品,所以就枚举从1号物品等级-m到1号物品的等级区间跑最短路#include<bits/stdc++.h>#define re registerusing namespace std;typedef long long ll;const double eps=1e-7;const int INF=1e9;const int N=105;int ..

2020-11-08 14:53:50 288 1

原创 最优乘车(最短路)

思路:对于按顺序给出的车站建图,如样例中4可以到7 3 6,7可以到 3 6,3可以到6这样建立有向图,然后找到从1号点到m号点的最短距离,同一题线路的距离都为1,问的是换乘次数那么最后答案-1//#pragma GCC optimize(2)#include<bits/stdc++.h> using namespace std;typedef long long ll;#define SIS std::ios::sync_with_stdio(false)#define spa.

2020-11-07 22:24:20 548

原创 最小花费(最短路)

思路:从A到B的路径为,可以假设在A时的钱为X,到达B时为100(题意),那么可以发现100=x*(z1%z2%…zb%)那么要x尽可能小就让(z1%z2%…zb%)尽可能大,那么我们就找一条乘积最大的路径。//#pragma GCC optimize(2)#include<bits/stdc++.h> using namespace std;typedef long long ll;#define SIS std::ios::sync_with_stdio(false)#def.

2020-11-07 17:22:28 450

原创 香甜的黄油(最短路)

思路:最短路暴力,吧糖放到每个位置然后跑一下最短路,看从当前位置到几个有牛的位置的距离是多少记得乘牛的数量,取最小值//#pragma GCC optimize(2)#include<bits/stdc++.h> using namespace std;typedef long long ll;#define SIS std::ios::sync_with_stdio(false)#define space putchar(' ')#define enter putchar('.

2020-11-07 16:13:49 301

原创 信使(最短路)

思路:要最短时间全部吧信送完就是找最短路中最长花费的时间是多久//#pragma GCC optimize(2)#include<bits/stdc++.h> using namespace std;typedef long long ll;#define SIS std::ios::sync_with_stdio(false)#define space putchar(' ')#define enter putchar('\n')#define lson root<&.

2020-11-07 15:32:57 431

原创 格子游戏(并查集裸题)

思路:在连边之前判断当前两个点是否已经在同一集合里,如果在那么说明连上会成环,我们用并查集去写,根据下图我们可以知道坐标如何变成点的编号//#pragma GCC optimize(2)#include<bits/stdc++.h> using namespace std;typedef long long ll;#define SIS std::ios::sync_with_stdio(false)#define space putchar(' ')#define ent..

2020-11-06 22:09:27 419

原创 Perfect Security(01字典树)

题目链接题意:给你两个序列A,B,求一个序列C c[i]=a[i]^b[i]你可以重新排列B序列,且要答案字典序最小。思路:对B序列建树,然后在A序列查找,为了找到数尽可能小,那么贪心的时候就是看01树上的点和有没有和当前位一样的有的话就选他,异或后对答案没影响,没有的话就只能加上当前位异或值(1<<i),还要删除字典树的节点,我们用sum[i]记录一想当前节点还有几个子节点可以走,当子节点减为0时则不能走。//#pragma GCC optimize(2)#include<bit

2020-11-05 23:06:18 240

原创 NC 112209 Vitya and Strange Lesson(01字典树)

题意:给你n个数的序列m个操作,每次操作给你一个数,然后让序列中所有的数异或这个数最后求当前序列的mex(最小未出现的非负值)思路:异或有结合律那么我们就把后面输入的数异或一下,然在n 个数上的字典树去找没出现的值,我们去记录一下当前树的节点,看他是不是满二叉树,如果是满的那说明在这条路径上没有未出现的数,我们就跳到另一边,然后此时当前位只能为1所以加上1<<i//#pragma GCC optimize(2)#include<bits/stdc++.h> using n.

2020-11-04 21:31:01 211

原创 魔板(bfs)

思路:吧数字转化为子符串然后处理他的3个状态,用个map记录一下有没有访问过这个状态,并在node里记录路径#pragma GCC optimize(2)#include <cstdio>#include <cstring>#include <algorithm>#include <set>#include<iostream>#include<vector>#include<queue>#includ..

2020-11-03 19:58:12 374

原创 矩阵距离(多源bfs)

思路:曼哈顿距离那就上下左右四个方向走每次加1,bfs去搜,以所有的1为起点入队开始。#pragma GCC optimize(2)#include <cstdio>#include <cstring>#include <algorithm>#include <set>#include<iostream>#include<vector>#include<queue>#include<map>.

2020-11-02 21:03:20 237

原创 武士风度的牛

思路:BFS,是先更新步数然后再看是否入队#pragma GCC optimize(2)#include <cstdio>#include <cstring>#include <algorithm>#include <set>#include<iostream>#include<vector>#include<queue>#include<map>#include<stack>.

2020-11-01 20:48:10 257

原创 迷宫问题(打印路径)

思路:BFS具有最短的性质那么,只需要考虑如何打印最短路,我们用个pair的二维数组存储到达当前位置的前一步是哪一步,为了方便输出,我们从n,n点出发到1,1,点#pragma GCC optimize(2)#include <cstdio>#include <cstring>#include <algorithm>#include <set>#include<iostream>#include<vector>#inc.

2020-11-01 19:39:35 629

原创 城堡问题

思路:找有几个联通块和最大的大小,难点在于处理图,我们发现西北东南刚好可以转化成二进制位,那么我们就以二进制位为1时表示当前方向有墙,然后BFS老三样,判断边界,判断有没有走过,判断这个地方是不是墙(当前二进制数的第i为是不是1)#pragma GCC optimize(2)#include <cstdio>#include <cstring>#include <algorithm>#include <set>#include<iostre.

2020-11-01 14:49:59 504

安卓studio最新版 android-studio-2021.3.1.16-windows.exe

安卓studio最新版 android-studio-2021.3.1.16-windows.exe

2022-09-19

空空如也

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

TA关注的人

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