自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天涯沧海的博客

写点自己喜欢的东西^-^

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

原创 队博链接

队博链接队博链接欢迎大佬们来踩踩

2020-12-17 20:29:26 207 1

原创 ACM 国际大学生程序设计竞赛简介

ACM简介ACM(国际计算机学会)是一家科教性质的协会,旨在联合全球计算 IBM的承诺机领域的教学人员、研究人员和从业人员,开展行业交流活动、共享资源和解决业界难题。凭借绝对的领导地位,ACM始终致力于推行最高行业标准,表彰杰出技术人才,加强计算机行业的整体队伍建设。ACM通过为成员提供终生学习、职业发展及与专业人士联谊的机会,支持其在各自的专业领域取得长足进步。国际大学生程序设计...

2019-06-18 15:36:49 23612 1

原创 博主简介

大二在读,acmer菜鸟一只,虽然菜,但我会在acm的路上一直走下去。

2019-06-05 15:37:12 478 5

转载 不断的追求,更要好好地活着

----------------------------------------------------------------------------------------------------------------------------------------------------------------------以下为转载-------------------------...

2018-12-19 21:52:04 238

原创 字节跳动客户端面经

一面C++ 面向对象特性tcp怎么保证报文传输智力题 7升瓶和6升瓶,无限水,怎么取到5升水算法题1.顺时针输出二叉树最右节点,叶子节点,最左节点2.无限次买卖股票,问最大盈利二面算法题1.判断完全二叉树2.堆排序3.最大1正方形4.01矩形字符矩形 输出回型路径八股1.死锁的概念2.如何避免死锁3.银行家4.网址输入会发生什么5.七层模型,每层有哪些协议,每层干什么的三面算法题:1.反转链表2.o1空间反转链表八股:1.介绍http2.tcp七层模型HR

2021-05-08 22:31:53 830 4

原创 退役

退役了,感谢碰到了帅帅和智杰这么好的队友成绩如何感觉也不重要了,过程开心就好最后一场比赛打完,接下来就得去实习,大学恍恍惚好像就要结束了希望帅帅保研成功,智杰实习顺利一切都在新的未来继续开始(说不定以后一起工作,又可以继续队友之旅了...

2021-04-09 16:32:27 187

原创 分层图最短路模板(洛谷 P4822 [BJWC2012]冻结 )

分层图最短路就是你可以选k条边,对这条边的费用进行操作后的最短路,所以每次操作就像下一层连一条单向边,这个边的权值是操作后的,这样操作后就只能去下一层,视作进行了一次操作题目背景“我要成为魔法少女!”“那么,以灵魂为代价,你希望得到什么?”“我要将有关魔法和奇迹的一切,封印于卡片之中„„”在这个愿望被实现以后的世界里,人们享受着魔法卡片(SpellCard,又名符卡)带来的便捷。现在,不需要立下契约也可以使用魔法了!你还不来试一试?比如,我们在魔法百科全书(Encycl..

2020-08-21 22:23:54 235

原创 2020 Multi-University Training Contest 7 1007 Game

整个图可以看成一个完全图,最长边必胜,两个端点连的其他边必败,然后剩余边中最长边必胜,最长边连的边必败。。。依次类推如果1号点连的边中有必胜边,那就必胜,否则必败#include<stdio.h>#include<queue>#include<string.h>#include<algorithm>using namespace std;#define ll long long#define maxn 3050ll mp[maxn..

2020-08-11 17:11:08 305

原创 Codeforces Round #662 (Div. 2) D. Rarity and New Dress

第一二层肯定是1,然后第三场在四个位置都符合要求就是2,然后这么一直往下,第(x,y)的值就是上面四个位置的值的最小值+1(四个位置如下图)(对于最下面的绿色的d来说,红色圈的就是它的四个位置)Carousel Boutique is busy again! Rarity has decided to visit the pony ball and she surely needs a new dress, because going out in the same dress s...

2020-08-09 00:33:23 200

原创 2020上海高校程序设计竞赛暨第18届上海大学程序设计联赛夏季赛(同步赛) A 同源

这题可以等同于找三个互质的数xyz(可以假设x<=y<=c),x+y+z=n/k,xyz都不能为1,然后w=n/k,如果w是偶数,那x=2,yz拆成两个相邻奇数(如果(w-2)%2是奇数就拆成相差4的奇数),如果w是奇数,那x=3,其他两数yz和偶数同样处理,如果得到的z和y是3的倍数,就y-2,z+2最后得到的xyz如果有数等于1或者n%k不等于1都无解链接:https://ac.nowcoder.com/acm/contest/6871/A来源:牛客网时间限制:C/...

2020-08-05 17:46:55 1183

原创 A*算法(k短路)模板 poj 2449

a*算法就是在bfs扩展的时候优化了一下,对于一个点x,当前花费a,到终点花费h[x],那a+h[x]就可以视作它这个点的总花费,这就可以在bfs时优先遍历花费少的点#include<algorithm>#include<vector>#include<queue>#include<string.h>using namespace std;#define ll long long#include<stdio.h>#de..

2020-08-02 23:34:41 232

原创 2020 hdu 多校三 1007 Tokitsukaze and Rescue

这题非常暴力,每次枚举最短路上一条边删掉,然后再跑最短路,一直到删完k条边,复杂度极限可以到n^10,不过由于边权值随机,最短路边数不会很大,spfa又比较快,所以就暴力出奇迹了Problem DescriptionPrincess CJB has lived almost her entire life in the isolated town of Ertona, where CJB uses her unique ability to recognize where crystals..

2020-07-29 17:56:14 204

原创 2020牛客暑期多校训练营(第五场) B Graph

这题可以说就是cf888g改编了一下,加上有人赛中发题解,所以过了一百多人,实际上还是很难的首先我们要先明确一个东西:这个图任意两个点u,v边权值始终不变,因为它所在的环异或和始终等于0,所以,边uv的值就是这个环其他边的异或和,现在即使它所在的环的某条边x被删去了,由于图要联通,那x肯定是被它所在的另一个环的其他边代替,而这些边的异或和等于x的值,这其实相当于没有删x,uv这条边还是在一个同样的环里,权值必然不会变现在我们就可以将每个点的值变成根节点到他的路径异或和,uv连边,边值就是u点..

2020-07-26 22:52:43 353

原创 cf888G 完全图上最小生成树

这题思想就是boruka具体就是我们从最高位来看,我们可以按照二进制最高位是0还是1来把数分为两块,他们内部各自进行连边形成最小生成树,然后这两个部分再连边,因为这样只会有一条最高位是1的边,如果我们让多个01对连边,那么会形成多条最高位权值是1的边,这明显会使结果更差,然后次高位及以下也如此处理。。在操作上就是我们先把每个点的权值插入到01字典树,从最高位开始分治,在0和1这两个左右子树,它们首先连边,然后再在左右子树找一个点对,他们异或值要最小,为了让异或值最小,我们在左右子树向下找的时候,每.

2020-07-26 22:30:54 521

原创 (优先队列)CodeForces 91B Queue

这题感觉其他博客大几十行的做法好麻烦啊,啥单调栈上二分和线段树,没必要这么麻烦这题题意就是找离第i个数最远且小于a[i]的数在哪,这直接上优先队列,把每个数和它的位置先存到优先队列里,优先队列大的在顶端,然后从后往前找,如果队列顶端的数比a[i]大,那a[i]就是和它配对的数,然后弹出队列顶,(如果这个队列顶端的数位置在i后面,那说明没有数可以和它匹配,那它的值设成-1,然后直接跳过它)重复操作指导队列顶的数小于等于a[i]#include<stdio.h>#incl...

2020-07-21 22:49:16 489

原创 (一般图最大匹配)2020牛客暑期多校训练营(第一场)I 1 or 2

用最大流是个假算法(网络流题解),虽然牛客没有重测,我还是来补一发带花树正解首先建图是这样的:每个条边拆成两个点x,y,x和y连边这条边连的两个点u,v,u拆成d[u]个点,分别和x连边,v拆成d[v]个点,分别和y连边然后如果是完全匹配,就输出yes解释一下为什么完全匹配就能yes如果是完全匹配,每个点都被匹配上了,这样就达到了题目要求的每个点必须连di条边的要求,但是,这是否能保证一条边上两个点,如果一点和该边相连,另一点也同时相连的效果呢?当然是可以的,比如对于建.

2020-07-16 17:42:15 421

原创 2020牛客暑期多校训练营(第二场)A All with Pairs

这题难点应该就是去重难想些吧首先把每个字符串的后缀都hash了存到map里,然后从每个字符串遍历,从前到后,第i个字符串的第j个点字符,我们得到前缀的hash值是x,ans[i][j]=mp[x],然后ans[i][next[j]]-ans[i][j],这就是在去重,next就是kmp的next数组,最后答案是就是具体描述下这个去重吧,应该会好理解点就比如现在只有一个字符串ababamp[a]=1;mp[ba]=1;mp[aba]=1;mp[baba]=1;mp[ababa]=..

2020-07-14 17:52:31 456

原创 (最大流) 2020牛客多校第一场 i 1 or 2

这i题我一直在想点和边进行建图,真tm的sb,这样根本没办法保证一条边和它的两个点都选上了,其实应该就点和点连边,每个点拆成i和i',源点和i连一条权值为di的边,i'和汇点连一条权值为di的边,对于m条边,u和v,u于v'建边,v与u'建边,这样每个点的流量都只能流到其他点,最大流就是让每个点都选了di条边,只要源点汇点流量等于di的和就是答案了链接:https://ac.nowcoder.com/acm/contest/5666/I来源:牛客网时间限制:C/C++ 1秒,其他语言2秒...

2020-07-12 17:48:58 935 5

原创 (字典树) 洛谷 P2922 [USACO08DEC]Secret Message G

这题要在字典树上需要纪录两个值,一是a[i]以当前节点结束的字符串有多少,二是b[i]经过当前节点且不在当前节点结束的字符串有多少,查询的时候,如果是以当前查询的字符串为前缀,那值就是查询字符串末尾遍历到的节点i的b[i]值,如果是以n条信息中的字符串为前缀,那就加上查询字符串在字典树上遍历的所有ai值,这两项值加起来就是答案题面#include<bits/stdc++.h>using namespace std;#define ll long long#define max.

2020-07-10 23:53:59 281

原创 (最大独立集+拆点)洛谷 P6268 [SHOI2002]舞会

这题就是要找最大独立集,即两两都没有跳过舞的最大集合,所以只要把每个人拆成两个点,如果ab两个人跳过舞,就给a,b'和a',b连边,最后ans=n-最大匹配/2,这最大匹配我跑的hk,快当然快一些,不过我想就匈牙利算法应该就可以了特意写一下:因为没有指定性别,所以要拆点,把i拆分i和i’ 那么U=V-M (M是最大匹配,U最大独立集,V是顶点数)2U=2V-2M 所以 U=n-M'/2题目描述某学校要召开一个舞会。已知学校所有 nnn 名学生中,有些学生曾经互相跳过舞...

2020-07-07 23:09:43 251

原创 (二分图最大匹配) 洛谷 P2055 [ZJOI2009]假期的宿舍

这一看就是求最大匹配了,当然也可以用最大流左边是人,右边是床,某个人可以躺到某张床上,就给他们连边,然后如果没回家的人数+要到学校的外校人数=最多匹配,那说明床和人能分好具体点讲下如何建图吧1.学生中回家的人不要连任何边,因为他们都回家了,学校的哪张床都睡不了2.学生中留校的人和自己的床连边3.在认识的人中,外校人和留校学生的床连边,留校学生和自己认识的所有人的床连边题目描述学校放假了 · · · · · · 有些同学回家了,而有些同学则有以前的好朋友来探访,那么住宿就..

2020-07-04 18:33:58 129

原创 (tarjan) 洛谷 P1726 上白泽慧音

这一看不就直接tarjan求强连通分量,然后最大的强连通分量不就是答案了吗,然后就开始码,然后就过了。。。在幻想乡,上白泽慧音是以知识渊博闻名的老师。春雪异变导致人间之里的很多道路都被大雪堵塞,使有的学生不能顺利地到达慧音所在的村庄。因此慧音决定换一个能够聚集最多人数的村庄作为新的教学地点。人间之里由N个村庄(编号为1..N)和M条道路组成,道路分为两种一种为单向通行的,一种为双向通行的,分别用1和2来标记。如果存在由村庄A到达村庄B的通路,那么我们认为可以从村庄A到达村庄B,记为(A,B)。..

2020-07-04 12:51:56 100

原创 (差分约束)洛谷 P1993 小K的农场

这应该算是一道比较水的差分约束题了(不过为啥不开o2炸了啊)我这是最大值写法操作1:a到b连一条值为-c的有向边操作2:b到a连一条值为c的有向边操作3:a到b连一条值为0的双向边题目描述小 K 在 MC 里面建立很多很多的农场,总共 nnn 个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得一些含糊的信息(共 mmm 个),以下列三种形式描述:农场 aaa 比农场 bbb 至少多种植了 ccc 个单位的作物; 农场 aaa 比农场 bbb 至多多种植了..

2020-07-02 23:05:31 123

原创 (矩阵快速幂) [TJOI2017]可乐

这题一看我就先想着t*m的分层图dp,dp[i][j][k]代表第t秒第j个点的路径数,k=0就是在第j个点爆炸,k=1就是停留在j点,然后dp[i][j][1]=dp[i-1][j][1]+∑(其他相邻点v,dp[i-1][v][1]),意思是第i秒停留在第j个点的路径可以是第i-1秒停留在第j个点或和j相邻点转移过来dp[i][j][0]=dp[i-1][j][1],意思是在第i秒第j个点爆炸的点只能是第i-1秒停留在第j个点转移来然后把每秒爆炸的方案加上,再加上第t秒停留在每个点的方案就.

2020-07-02 18:08:08 147

原创 (二分答案+最短路)P1462 通往奥格瑞玛的道路

之前智杰问过我一道题:一个图,每条边有两个值x,y,要求在1到n找一条路径,∑x小于给定值a的情况下,∑y的值要最小我当时说要是是x值不超过a,那直接二分答案就好了,没想到今天真碰到这个题意的题了(这道题题意是智杰自己想的,不过我以前做过poj上一道差不多的题poj1724,做法挺暴力的,有兴趣的话可以做做)思路:二分最大经过边的最大值x,边费用小于等于x的边才进行加边,然后跑最短路,如果1到n不连通或减去的血量大于b那不行,反之可以,最后得出的x就是答案了题目背景在艾泽...

2020-06-28 23:28:34 177

原创 (dp)Educational Codeforces Round 90 (Rated for Div. 2) D Maximum Sum on Even Positions

终于在cf写出了一道正经的dp题,值得庆贺( ̄▽ ̄)~*dp[i]代表以i结尾的长度为偶数的贡献最大的反转区间,贡献是奇数位的和与偶数位的差然后转移方程:奇数就是dp[i]=max(dp[i],dp[i-2]+a[i]-a[i-1]);偶数dp[i]=max(dp[i],dp[i-2]+a[i-1]-a[i]);反转区间长度必为偶数,因为如果是奇数那么相当于没反转,那这么dp为什么能保证都选的是偶数长度的区间呢?dp[0]不选,dp[1]=max(0,dp[1]-dp[0])即dp[1].

2020-06-26 19:01:36 172

原创 (tarjan)洛谷 P2194 HXY烧情侣

思路:费用就是每个强连通分量里最小值的和,方案数就是每个强连通分量里最小值数量的乘积众所周知,HXY 已经加入了 FFF 团。现在她要开始喜(sang)闻(xin)乐(bing)见(kuang)地烧情侣了。这里有 nnn 座电影院,nnn 对情侣分别在每座电影院里,然后电影院里都有汽油,但是要使用它需要一定的费用。mmm 条单向通道连接相邻的两对情侣所在电影院。HXY 有个绝技,如果她能从一个点开始烧,最后回到这个点,那么烧这条回路上的情侣的费用只需要该点的汽油费即可。并且每对情侣只需..

2020-06-25 18:07:02 232

原创 (tarjan)洛谷 P2002 消息扩散

思路:tarjan缩点,强连通分量里的点肯定是可以互相到达的,那缩完后入度为0的点数就是答案了本场比赛第一题,给个简单的吧,这 100 分先拿着。题目描述有n个城市,中间有单向道路连接,消息会沿着道路扩散,现在给出n个城市及其之间的道路,问至少需要在几个城市发布消息才能让这所有n个城市都得到消息。输入格式第一行两个整数n,m表示n个城市,m条单向道路。以下m行,每行两个整数b,e表示有一条从b到e的道路,道路可以重复或存在自环。输出格式一行一个整数,表示至少要在几个..

2020-06-25 17:06:16 168

原创 (并查集)CodeForces 1245D Shichikuji and Power Grid

先每个点连边,边值为(k[i]+k[j])*(abs(b[i].x-b[j].x)+abs(b[i].y-b[j].y)),然后设一个虚点0和每个点连边,边值为c[i],然后跑并查集就好了Shichikuji is the new resident deity of the South Black Snail Temple. Her first job is as follows:There are nnew cities located in Prefecture X. Cities..

2020-06-25 14:42:10 213

原创 (dp)吉林大学ACM集训队选拔赛(重现赛) b Subset of Five

补一下之前的一道简单dp题,转移就是dp[i][j]=max(dp[i][j],dp[i-1][(j-x+5)%5]+a[i]);要么不选这个数,要么选这个数和之前的dp[i-1][(j-x+5)%5]加到一起链接:https://ac.nowcoder.com/acm/contest/5944/B来源:牛客网"Today is another day! I'm five." With the fail of unit tests, XiaoYang tiredly lies on th...

2020-06-24 18:08:43 151

原创 (贪心)Codeforces Round #652 (Div. 2) E - DeadLee

这题首先每道菜如果够吃,就让吃它的人放到最后只吃这道菜,那对其他菜来说,就少了一些吃它的人,就又能有菜富裕,这样不断进行,如果每道菜都能在某个阶段富裕,那就alive,然后按照存入的顺序倒序输出,否则dead Be careful: there is 50 points penalty for submission which fails the pretests or resubmission (except failure on the first test, denial ...

2020-06-24 16:14:20 218

原创 2017 西安区域赛 g Sum of xor sum

题意:求区间[l,r]所有子区间异或和思路:对前缀异或和b[i],如果b[i]==1,那它前面的0位置x,[x+1,i]这段区间异或和必为1,b[i]==0同理,那只要再分别对前缀异或和的0,1分别在做一次前缀和就好了Song Zha Zha has an 111-indexed array A . Li Zha Zha has QQQ queries . Each query has two integers LLL, RRR , asking Ran Zha Zha to do the..

2020-06-24 14:41:35 263

原创 (区间线性基) 2017西安区域赛 A XOR

这题做法很早就想到了,就是先对ai^=(~k),消去k的位对查询区间异或和最大值的影响,然后查询区间[l,r]区间异或和最大值ans,答案就是k|ans,但是卡在了区间异或最大值这里,我当时只会线性基on插区间最大值,帅帅在用线段树做,但是re了,(多说一句,uva真的坑,只要不ce和re全判ac,什么垃圾oj。。)后来我们发现判题全ac就没继续打了思路:思路就是上面说的,唯一的难点就是区间异或最大值了,详见代码Consider an array AAA with n elements..

2020-06-23 16:38:33 328

原创 (模拟)吉林大学ACM集训队选拔赛(重现赛) I题 Firework

这题直接多源bfs模拟下就好了,想清楚了就挺好写的,可惜比赛的时候没时间做这题了1.一个点u扩展到另一个点v,如果点v之前没扩展到,那t[v](第v个点最早点燃的时刻)=t[u]+2*w2.如果之前v已经被扩展到了,那如果t[v]>=t[u]+2*w,显而易见,t[v]可以更新成t[u]+2*w3.如果t[v]<t[u]+2*w,那说明uv在中间某个点相遇了,那相遇的时刻ans=max(t[u],t[v])+(2*w-abs((t[v]-t[u])))/2;然后所有ans(中间.

2020-06-17 23:21:04 275

原创 (拓扑排序+bitset)吉林大学ACM集训队选拔赛(重现赛)C Strange Bulbs

这题一开始看的时候,肯定是要拓扑的,但是有一个问题,一个点的开关,会影响它所有的子节点,一个点的是否要开关,又是这所有影响到这点的父节点数量和的奇偶决定的,比方说1到2,1到3, 2到4, 3到4,如果直接纪录每个点父节点(包括自己)有多少开关了,那a[1]=1,a[2]=2,a[3]=2,那势必会使a[4]=a[2]+a[3]=4,这就错误了,应为1的影响被重复加了就如下图所以不能这么简单的加,而要纪录4这个点是具体被哪些点影响了,但我们又不能暴力遍历,所以一个更好点办法是bitse...

2020-06-14 12:49:15 411

原创 (思维+暴力)CodeForces - 1244 D Paint the Tree

思路:首先可以看出,这个树只能是一条链的形式,如果有分叉,那必然染色会有冲突,所以我们只要枚举前两个点颜色,其他点就都已经确定了,纪录下最小值就好了You are given a tree consisting of nvertices. A tree is an undirected connected acyclic graph. Example of a tree.You have to paint each vertex into one of three colors. F.

2020-06-11 15:58:20 203

原创 (并查集)Two Fairs CodeForces - 1276B

这题我一开始想的是缩点,然后a子树去掉有b的子树后假设有x个点,b同理有y个点,x*y就是答案,但是有点难写,我记得去年这场cf打的时候我口胡过一个做法,但现在不太记得去了,就去翻了一下,发现我当时的想法真的好,再看我刚才想的算法,惭愧惭愧这就是我去年的做法,真的妙多了,删掉和ab相连的边,然后用并查集处理下联通块就好了There are n cities in Berland and some pairs of them are connected by two-way roads...

2020-06-02 01:22:02 175

原创 CodeForces - 1283D Christmas Trees

思路:这题就是从每个圣诞树左右进行扩展,优先近的点做法:每个点设一个坐标id,扩展方向f(+-1),扩展距离s,把每个点放到优先队列里,按照s小的在顶端,map纪录一下扩展过的点,依次从顶端取点扩展就好了There are n Christmas trees on an infinite number line. The i-th tree grows at the position xi. All xiare guaranteed to be distinct.Each intege..

2020-06-01 17:28:11 235

原创 Gym - 102021I: It’s Time for a Montage

题意:你的军队和敌人的军队打仗,你和敌人都有n个人,每个人都有一个力量值,你的人训练一天可以增加一点力量,打仗是这样的:按顺序从1到n,a[i]打b[i],只要a[i]>b[i],你就赢了,a[i]<b[i],你就输了,相等就看下一个,全部相等也算你赢,问你最少要训练几天才可以打败对方思路;就枚举训练天数就好了,反正n,w都小于1000,枚举就能水过去#include &lt...

2020-05-31 20:36:59 278

原创 Gym - 101482D Digi Comp II

这题。。。按照拓扑序的顺序,从入度为0的点开始,当前入度为0的点的球向下转移,注意可能一个点可能同时转移到两个相同的点就好了题目链接#include<bits/stdc++.h>using namespace std;#define ll long longconst int maxn = 2005000;/*struct E{ ll to,next;}e[maxn];*/ll in[maxn],to[maxn],head[maxn],cnt=0;struc.

2020-05-30 23:52:49 200

空空如也

空空如也

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

TA关注的人

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