自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CF-Div.2 E-Greedy Shopping-线段树(思维)

(题目)[https://codeforces.com/contest/1440/problem/E]题意:给你一个非递减序列,有两种操作:输入x,yx,yx,y 将 a[i]=max(a[i],y)a[i]=max(a[i],y)a[i]=max(a[i],y) ,i∈[1,x]i∈[1,x]i∈[1,x] ;输入x,yx,yx,y , 这个人有y钱,买东西 从下标 i=x 开始 到 n,遇到能买的就买下,不能买的跳过去下一个。问 从 x 走到 n 可以买几个东西?思路:用线段树优化这些操

2020-11-20 08:57:19 159

原创 CF-Div.2 D-Graph Subset Problem-找k大的完全图

题目题意:给你一个图,从图中找出一个子图:这个子图中每个点的度为k;这个子图是 有k个点,并且是完全图。符合这两个中的 任意一个就行输出:符合 1 :第一行:1 和 子图的点数第二行:子图中点的编号符合 2 :第一行:2第二行:子图中点的编号思路:...

2020-11-20 08:35:49 353

原创 牛客最小的K个数

题意:给出一个数组,找出最小的k个;题解:直接对数组排序,取前面K个。class Solution {public: vector<int> GetLeastNumbers_Solution(vector<int> input, int k) { sort(input.begin(),input.end()); vector<int >ans; if(input.size()<k){

2020-11-03 18:09:08 101

原创 2020 ccpc 威海 C 树形DP(思维题吧......)

题目题面:题意:给一棵树,a,b,c 以一些点为起点(输入的最后三行就是他们各自的起点), 然后他们三从各自的起点 共同去一个距离和最小的点,求距离和的数学期望.其实一开始不太会,因为不懂这三个点,之间的关系,但看到这个dis(a,b,c)=(dis(a,b)+dis(a,c)+dis(b,c))/2, 秒会题解思路:三点之间的关系 能这样转成 三个的两点之间的关系:dis(a,b,c)=(dis(a,b)+dis(a,c)+dis(b,c))/2dis(a,b,c)=(dis(a,b

2020-10-29 11:32:56 188

原创 凸包-卷包裹法

请问

2020-10-16 00:07:17 222

原创 带花树

弥补下暑假打多校的遗憾就是一般图匹配二分图没有奇环,而一般图有。所以匈牙利算法中的寻找增广路然后路径取反的方法在一般图上就不适用了。带花树是要解决奇环的问题。一个奇环里至少有一个点不能匹配,那就干脆把一个奇环缩成一个点,路径取反的时候再暴力展开一个个取反。所以 复杂度不是很友好 n3n^3n3详细流程:我们给所有点黑白染色。假设开始增广的点是黑点。把所有黑点压进队列中顺次处理。对于一个黑点u,找与他相邻的点v,会出现一下几种情况:u,v已经被缩成一个点了,就不管它。v是白点,说明已经被匹

2020-10-09 20:10:23 71

原创 2020杭电多校第六场-F - A Very Easy Graph Problem-换根dp

题目链接题面:大致题意:n个点,m条边。图上每个点有白色或黑色,然后m条边的边权是 2^i ( i 是从1-n) ,然后 问你图上所有的任意两黑白点之间的最短距离和.分析:先能一眼看出是,其实是一颗树吧?(相当于建虚树的意思)大体上: 可以先求出每个点到白色点(0号点)的距离和,最后只加1号点到每个0号点的距离就行。第一次dfs 先求每一个点到他的子树中的所有白色点的距离和(之后当前这个点会和根节点操作下(换根))第一次求出后,dp 存的就是 他到 他的子树中的 所有0号点的距离和, si

2020-10-02 09:05:28 72

原创 2020牛客多校10-J- Identical Trees-树形dp+建图费用流

题目链接题面:大致题意:给两颗树,然后有一种操作就是修改树的结点编号,现在让两棵树变成相同的,问最少需要修改几次?分析一波:先声明下:x1 是第一棵树,他的一些子节点 (子树) y11,y12,y13…x2 是第二棵树,他的一些子节点 (子树) y21,y22,y23…1: 两个树必须要同构,才能修改成一样的。为啥要匹配?修改的时候,假如在 x1 的子树 和 x2 的子树中,同构的子树,有好几类,然后 每类中,y11 可能变成 y22 要优与变成 y21…总之汇合起来,我们

2020-09-26 10:11:36 138

原创 洛谷P2472-最大流

题目链接分析:源点 s 连蜥蜴的出生点 容量为INF,每个石柱大于0的点,自建边,容量为初始的高度(限制流量),每个大于0的点 再求下曼哈顿距离能不能到图外,就连下汇点.模板题啊~~but: 这么简单的题,我一直WA ,明天等队友来de bug吧!!! 代码先不放了....

2020-09-24 21:45:52 122

原创 洛谷P2825-最大匹配

题目链接题面:随便BB几句(和题目没多大关系):感觉这个有点不是很好想,比那个扩容难想一点。没有洛谷的算法标签,很难去想这是一道建图最大匹配的题,大佬们tql声明下:块1 : #(硬墙) 和 行列 隔开的块快2: 在块1中 * 隔开的块也就是说 块2 是块1的子集(别杠那么清楚,懂什么意思就行)分析:炸弹炸的是横竖 ,那么是不是就是所在的块1中 横竖都没了,所以相当于横竖匹配了,那么我们建图的时候对于 横竖的块1 ,进行建边,建的时候,这一块是一个点 (这个 表达不清看代

2020-09-24 21:39:09 87

原创 洛谷-P2604-最大流-费用流

题目链接题面:分析:第一问就是裸的dinic, 第二问 需要有点想法, 最大流增加K所需的最小扩容费用, 先想下怎样能增加,再想下怎么限制增加K?deal:怎样增加 就是对于整个图 加边 容量为 INF 花费为之前的花费,限制增加 K的话,我们只要 建一个源点->1 容量为 K费用流模板题#include<bits/stdc++.h>#define ks ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)#defin

2020-09-24 21:12:12 95

原创 西安邮电校赛 C题 异或生成树(树形dp)

这里解:一眼树形dp没的说,

2020-05-30 11:04:13 155

原创 使序列有序的最少交换次数-任意交换元素位置

题意: 给定一个包含1-n的数列,通过交换任意两个元素给数列重新排序。求最少需要多少次交换,能把数组排成按1-n递增的顺序,(数组中的元素互不重复)。并没有具体那个题目,感觉解法挺巧妙就写下博客理解下解法:初始数组:a排序后的数组:b (正确位置)解: a中不在正确位置上的数字,并且构成了一个影响关系就构成一个集合, 比如没有排序 3 4 16 8 15 21 34 25排序后是 3 4 8 15 16 21 25 34在这个数组中,3是一个集合,4是一个集合

2020-05-27 21:39:37 1544 1

原创 CF-1343E-E. Weights Distributing

这里题意:n个点,m条边,a,b,c是节点编号,这个人要先从a到b再到c,第二行是m条边的权值,你可以随意给边加权,问你从a到b到c 的最短路是多少?思路:第一眼看感觉是三次最短路,我先是这么写的,先让每条边权为1,第一次最短路以a为起点得到(a->b)len1, 然后标记边,(a_>c)减去刚刚标记的边就是 len3,第二次最短路(b->c)得到的值减去遇到的标记...

2020-04-26 21:04:55 181

原创 蓝桥杯2020-4-12模拟赛(B组)

第一题 问题描述:在计算机存储中,12.5MB是多少字节? 答案提交  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。答案:131072001MB = 1024KB,1KB = 1024B,12.5MB = 12.5 * 1024 * 1024 = 12800KB * 1024 = 13107200...

2020-04-26 18:41:57 323

原创 CF-1343D-D. Constant Palindrome Sum

int minn=min(a[i],a[n-i+1]); int maxx=max(a[i],a[n-i+1]); sum[minn+1]--; sum[maxx+k+1]++;

2020-04-23 00:24:59 180

原创 CF-1206D-D. Shortest Cycle

在这tnnd,又得翻译英文题面 题意:有n个数,任意 两个数,第i-th 个数字 和 第 j-th个数字,他们的 & 不为0的话,就会有这么一条无向边 i – j,边权为 1. 现在问,这个图中 最小环的长度是多少。思路:第一眼看题: 如果数据小的话,我直接 floyd 找最小环 但是,tnnd, 这个数据太大了重点:&… 仔细想下,两个数的 &运...

2020-04-22 23:59:18 160

原创 CF-1339D-D. Edge Weight Assignment

题目题意:n个节点,n-1条边,构成的树,让任意一对叶子节点,他两之间的所有边权异或值为0,边权可以用任意数字赋值,问最少使用多少个不同的数字,最多使用多少个不同的数字,可以满足上述条件。思路:先说最少的:叶子节点之间距离,如果全是偶数,那边权就可以都为1叶子节点之间距离,如果有奇数,那边权1 、2、3 这三个数就足够了最多的:其实不管奇偶,我们凑二进制就行,比如 2...

2020-04-18 01:04:14 102

原创 CF-1337C-C. Linova and Kingdom

题目 题意:一棵树,边权为1,根节点是:1,要标记 k 个节点,这k个节点,都要去1节点,问这k个节点去 1 节点,路过的没有被标记的节点的个数总和。思路:肯定选深的节点标记啊,这样每个标记的节点到1节点会多一点,但是…是要选k个节点,当叶子节点选完后,肯定选叶子节点的根节点标记,但这样访问的普通节点就会减1…(也不知道怎么往我那个方法上引…我是到这就直接想到的) 对每个点,他到 1 能...

2020-04-18 00:28:59 128

原创 CF1113C-C. Sasha and a Bit of Relax

题目 有任何问题可以在下面评论题意: 长度为 n 的数组,问你有几种 a[l] ^ a[l+1] ^ …^ a[mid] = a[mid+1] ^ a[mid+2] ^ … ^ a[r]. mid=(l+r-1)/2 , mid必须是偶数,也就是等号两边都是偶数个。 思路:小小分析一波:两边的异或值相等…相等的两个数异或值难道不是0吗, 那不就是求 连续的序列 异或值相等有几...

2020-04-17 22:53:11 131

原创 CF-1113D-D. Sasha and One More Name

题目 有任何问题可以在下面留言题意:回文字符串 s1 可以随意切割任意次,问最少切割几次,可以获得一个新的回文字符串 s2 ( s1 ! = s2 ) ,切割出来的字符串,可以任意拼接,但是不能反转。思路:先想明白一点,无论任何情况,只要能生成合法的s2 ,最多切割2次;解释: s1 本身是回文的,如果能合法拼成s2, 两边对调下,也就是最多切割两次。所以现在问题就是看 s1 能...

2020-04-17 21:57:37 140

原创 CF-1335-E2. Three Blocks Palindrome (hard version)

题目可恶的题面,又得帮你们翻译下,英语不好打这个贼吃亏。题意:n个整数a1,a2…an (1<= a <=200), 问一个序列:第一部分全是x,第二部分全都是y,第三部分全都是x, 也就是整个这个序列的最多2种数字,(x和y可能相等),第三部分和第一部分数量相等,每个部分的数量>=0.$ 其实直接看这里:,大概就懂什么意思了, 思路:这题有E1和E2,然后乍一...

2020-04-15 17:39:34 238

原创 牛客算法周周练2-B.Music Problem

题目题意:t个问题,每个问题有n个数,任意选取数字(选取的数量>=1)的和是3600的倍数。思路:我是瞎搞的,用dp[x]=1 表示可以组合为x,dp[x]=0,表示 不可以组合为x,(x=x%3600), 然后直到dp[0]=1 结束。#include<bits/stdc++.h>#define ll long longusing namespace std;...

2020-04-15 15:57:39 113

原创 牛客算法周周练2-D.小H和游戏

题目思路:上来一看是树,稍加分析下,问题就简单了。废话,重点怎么分析呢…其实想下对于每个点,能涉及到 他 的,分为3种:1: 它爸爸和爷爷2: 它自己、它的兄弟3: 它儿子、它孙子! 可以画图理解下影响关系。它兄弟对他的影响 算在他爸爸身上,也就是dp[fa[x]][1]++;解释:dp[fa[fa[x]]][2] 表示:x 作为孙子 被爷爷涉及的次数:dp[fa...

2020-04-15 14:43:55 164

原创 CF1333C-C. Eugene and an array

题目||: 刚开始一直想的是用总的数量减去不合法的数量,其实会有很多重复,应该直接加合法的。思路:now表示: s[l],s[l+1],s[l+2],s[r-1],s[r]x表示:第 i 输入的数字sum表示:前 i 个数字的和(sum=sum+x)k表示:最后一个出现有等于0子段的位置( 防止重复 )先清楚一点:如果 now合法,那么对于now会有(1+2+3+4+…+cn...

2020-04-12 22:28:54 113

原创 牛客练习赛61-D.最短路变短了

题目思路:其实不需要考虑很多 题目只让回答, 一条边反向 后 对最短路的影响,那我们就求 通过这条边 的最短路,与原团的最短路进行比较。现在问题就是:求 通过(原边是:(U,V,W),反向后 是: (V,U,W))这条边的最短路, 那也就是 (1->V)的距离和 (U->N) 和 W 三个的和。与原图的最短路进行比较实现的话: 1: 第一次正向建图,di...

2020-04-12 19:57:14 130

原创 牛客练习赛61-C.四个选项

题目思路:稍微想下就应该知道,样例是最大的方案数,40万 并不是很大,可以dfs 搜一波。 代码:#include<bits/stdc++.h>#include<algorithm>#define ll long longusing namespace std;ll now[15];ll fa[15];ll find(ll now){ ret...

2020-04-12 19:36:09 136

原创 牛客算法周周练1-E.幸运数字Ⅱ

题目题面:定义一个数字为幸运数字当且仅当它的所有数位都是4或者7。比如说,47、744、4都是幸运数字而5、17、467都不是。定义next(x)为大于等于x的第一个幸运数字。给定l,r,请求出next(l) + next(l + 1) + … + next(r - 1) + next®。输入:2 7输出:33思路:只有4和7的数挺少的,dfs一遍所有的数字,然后存起来。L–&...

2020-04-08 00:47:35 213

原创 牛客算法周周练1-C.Borrow Classroom

题目题面:每年的BNU校赛都会有两次赛前培训,为此就需要去借教室,由于SK同学忙于出题,这个事情就由小Q同学来跑腿。SK同学准备从宿舍出发,把借教室的单子交给小Q同学让他拿去教务处盖章,但是何老师突然发现SK同学好像借错教室了,想抢在借教室的单子被送到教务处之前拦截下来。现在把校园抽象成一棵n个节点的树,每条边的长度都是一个单位长度,从1到n编号,其中教务处位于1号节点,接下来有q个询问,每...

2020-04-08 00:38:16 132

原创 POJ-3177

题意: 有n个牧场,Bessie 要从一个牧场到另一个牧场,要求至少要有2条独立的路可以走。现已有m条路,求至少要新建多少条路,使得任何两个牧场之间至少有两条独立的路。两条独立的路是指:没有公共边的路,但可以经过同一个中间顶点.输入: 第一行输入 n和m,第二行到第m+1行输入图的路径;输出: 新建的边数。思路: 每个点之间有...

2020-03-29 21:43:24 90

原创 牛客练习赛60-斩杀线计算大师

↵题目链接题意:算术能力是每个炉石玩家必不可少的,假设现在有三种伤害卡,伤害值分别是a,b,c。并且每种伤害卡的数量你可以认为是无限的。现在牛牛想知道是否存在一种方式可以刚好造成k点伤害,输出x,y,z分别表示三种伤害卡的使用个数。数据保证一定存在解。如果存在多组解,输出任意一组。输入:一行整数:a,b,c,k.(1<=a,b,c<=1e5,1e12<...

2020-03-28 11:21:15 120

原创 POJ3662-Telephone Lines

↵题目链接解题思路 可以免费k条路,然后只需要支付权值最大的一条路。二分。对答案进行二分,小于等于mid的时,将路的权值标为0,大于mid时,将路的权值标为1。(mid是需要支付的,免费k条是大于mid的。因为二分枚举的mid就是答案,然后如果等于mid的话mid是答案也成立)然后求最短路。二分的条件是dis[n]小于等于mid,r=mid;dis[n]大于mid,l...

2020-02-25 11:16:28 84

原创 NOIP2009-最优贸易

题目链接解题思路: 对于每个地点,找到前面最小的,找到后面最大的。然后遍历每个点,找出差值最大。#include<bits/stdc++.h>#include<queue>using namespace std;const int maxn=3e5+177;int n,m;struct Node{ int next; in...

2020-02-25 10:37:16 136

原创 牛客寒假算法1-H-nozomi和字符串

****记录i下

2020-02-05 17:13:59 117

原创 cf-D.Long Beautiful Integer-#609-div2

题目链接*:cf-Long Beautiful Integer题面:You are given an integer xx of nn digits a1,a2,…,ana1,a2,…,an, which make up its decimal notation in order from left to right.Also, you are given a positive integer...

2019-12-22 01:46:06 294

原创 cf-1272d-Remove One Element

题目链接:cd-1272d题面:You are given an array aa consisting of nn integers.You can remove at most one element from this array. Thus, the final length of the array is n−1n−1 or nn.Your task is to calculat...

2019-12-22 01:27:28 132

原创 cf-1281b-Azamon Web Services

题目链接:cf-1281bInputThe first line of input contains a single integer tt (1≤t≤15001≤t≤1500) denoting the number of test cases. The next lines contain descriptions of the test cases.Each test case con...

2019-12-22 00:22:11 263

空空如也

空空如也

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

TA关注的人

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