自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 问答 (1)
  • 收藏
  • 关注

原创 Codeforces 1245F Daniel and Spring Cleaning

Daniel and Spring Cleaning给出城市x,y坐标,让所有城市通电,方式有两种一种直接建供电厂,一种连接有供电厂的城市,使得花费最少思路:看到数据为2000,应该可以直接算出所有城市之间的连接的花费,很明显地看出是一个最小生成树,可以让所有城市连接一个超级源点,花费为建立供电所的花费,然后跑一遍最小生成树int f[2005];struct node{ int x,y; ll va;}e[5000005];vector<int>vt;vector

2021-05-18 23:57:25 92

原创 CodeForces - 777E

按照所有柱子的外径排序降序,如果外径相同就按照内径降序,从前往后维护一个个计算最大值,用线段树维护最大值,因为外径降序,所以,所以只需要查看内径比外径小的最大值,就能找到当前柱子可以建成的最高。ll tree[100005*8],lazy[100005*8];void push_up(int k){ if(lazy[k]!=-1){ lazy[ls]=max(lazy[k],lazy[ls]); lazy[rs]=max(lazy[k],lazy[rs]);

2021-05-13 16:25:02 336

原创 CodeForces - 780D

奇奇怪怪的二分图匹配匈牙利模板题标记每个可以使用的两种缩写,第一种不可以就标记为-1map<string,int>mp1;string str1[1005][2];vector<int>vt[2005];int mp2[1005][2];int vis[2005],vis2[2005];int fa[2005];bool dfs(int x){ for(int i=0;i<2;i++){ int v=mp2[x][i];

2021-05-13 16:21:02 85

原创 牛客IOI周赛25-普及组

A 字符串修改直接加或者减然后取模#include <cstdio>#include <cmath>#include <stack>#include <queue>#include <string>#include <iostream>#include <sstream>#include <ostream>#include <cstring>#include <vector

2021-05-02 17:30:31 228

原创 Exponential notation

思路 瞎几把模拟一堆特判主要特判一下前导零还有后导零的位置,并且还有" . "的位置char str1[10000005];void solve(){ cin>>str1; int len=strlen(str1); int pos1=-1; int pos2=-1,pos3=-1; for(int i=0;i<len;i++) if(str1[i]=='.') { pos1=i; break;} if(pos1==-1){

2021-03-15 23:33:18 111

原创 Roman and Numbers

思路,状压dp,一维表示已经计算的数,二维表示已经计算的数取模后的值,因为会有重复的所以要记得除于组合数 A!时间复杂度:O(2^nmn)char str1[20];int n,m,a[20],b[20];int vis[10],sum;ll dp[(1<<18)+5][105];void solve(){ cin>>str1>>m; n=strlen(str1); for(int i=1;i<=n;i++){

2021-03-11 16:42:43 192

原创 CodeForces - 1206D

求最小环思路:当不为0的个数大于等于(log2(1e18))*3的时候,肯定会有三个数可以成环,直接打印当小于这个值的时候,不到两百的数可以直接用floyd算最小环 板题int dis[205][205],dp[205][205];long long a[100005];void solve(){ int n; cin>>n; int num=0; int cnt=0; for(int i=1;i<=n;i++){ ll

2021-03-09 21:08:16 112

原创 CodeForces 1253C

思维题任意连续n个值的差小于等于1容易想到分成两个区间,然后奇数时候一区间比二区间大一偶数相反,然后枚举所有区间时间复杂度O(n)ll a[400005];int n;map<ll,int>mp1;void solve(){ cin>>n; int cnt=0; ll num=0; for(int i=1;i<=n;i++){ if(i&1){ a[i]=++cnt;

2021-03-09 21:05:33 107

原创 Story of Tomisu Ghost LightOJ - 1340

题意:找出n!在b进制下有t个后导零,找出最大的b思路:素数筛,找出每一个n!下每个素数有多少次方,贡献为次方数/t,然后快速幂计算乘积#include<bits/stdc++.h>#define INT_MINs -2000000000#define INT_MAXs 1000000001#define mod 10000019#define MID int mid=(l+r)>>1#define REP1(i,x,y) for(int i=x;i<y;i++

2020-12-18 19:58:33 131 1

原创 牛客2020年七夕节比赛(单身狗只能打码)

B.如果一个数乘了一个m再%m答案为零,除了1和2的三次阶层,其他都大于了1e9,所以都为0;#include <cstdio>#include <cmath>#include <stack>#include <queue>#include <string>#include <iostream>#include <sstream>#include <ostream>#include <c

2020-08-25 21:55:49 237

原创 Gym - 102569A

找出一条最短路径,每个点都有一个字符,最短路且满足字典序最小思路:刚开始试过正向建图,但是无法确定那些点是可以最终到达n的,所以干脆反向建图,记录每个点到达n的最短距离,从1顶点开始,枚举每一个相连的点,与n的距离小1的点,且该字符为该深度中最小的字符,将点数记录依次枚举,然后记录父亲节点,回溯打印路径。#include <cstdio>#include <cmath>#include <stack>#include <queue>#include

2020-07-15 20:25:09 188

原创 洛谷P2921 Trick or Treat on the Farm G

题意:每一只奶牛都从一个棚栏出发,如果走到一个地方,该地方走过的话,就停止,请问每一只奶牛最多可以走过都是个棚栏。思路,先找出该有向图中所有的环,然后对每一个环进行缩点,计算每一个环的大小,如果走到一个环中的任意一个点后,一定会出现重复走到一个点,所以就加上这个额环的大小,然后停止,因为要计算所有点可以走到最远的距离,所以可以记忆化搜索的方式进行优化。`#include <cstdio>#include <cmath>#include <stack>#inclu

2020-07-01 15:30:18 202

原创 P1347 排序

一个不同的值的升序排序数列指的是一个从左到右元素依次增大的序列,例如,一个有序的数列A,B,C,D 表示A<B,B<C,C<D。在这道题中,我们将给你一系列形如A<B的关系,并要求你判断是否能够根据这些关系确定这个数列的顺序。输入格式第一行有两个整数n,m,n表示需要排序的元素数量,2<=n<=26,第1到n个元素将用大写的A,B,C,D…表示。m表示将给出...

2020-04-29 17:20:27 167

原创 洛谷图论

P5318 【深基18.例3】查找文献每个文献看之前一定要看前面的资料,分别用dfs和bfa跑,并且要求路径为字典序,对每个点的路径排序,跑dfs和bfs#include <cstdio>#include <cmath>#include <stack>#include <queue>#include <string>#inc...

2020-04-28 23:30:24 224

原创 Swapping Places题解

认识的动物可以交换,找出其中字典序最小的一种排列思路:思路就是拓扑排序先把所有的动物名称进行排序,用他们的位置代表他们的名称,然后算出哪些是朋友,核心部分就是对每个字符串进行处理,对每个位置的动物进行处理实际上就是把每种动物都看成一个点,可以交换的就看成两个点之间有一条边,然后跑一边拓扑排序就出来。 for(int i=1;i<=l;i++) { int cnt...

2020-04-25 19:33:24 571

原创 SCAU2020春季个人排位赛div2 H

C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。中央情报局要研究敌人究竟演习什么战术,所以...

2020-03-07 17:23:08 195

原创 POJ - 2559

A histogram is a polygon composed of a sequence of rectangles aligned at a common base line. The rectangles have equal widths but may have different heights. For example, the figure on the left shows ...

2020-02-29 23:09:23 190

原创 POJ - 2524(并查集)

题目大意就是算下学校校里面一共有多少个宗教,直接用并查集进行计算有多少个集合,然后遍历一遍,有多少个父节点,就是宗教的数目。#include <cstdio>#include <cmath>#include <stack>#include <queue>#include <string>#include <iostrea...

2020-02-23 19:58:55 231

空空如也

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

TA关注的人

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