ACM竞赛
ACM竞赛
流荧静水
这个作者很懒,什么都没留下…
展开
-
弗洛伊德算法三重循环的最通俗理解
我是标题党首先本解释仅限无向图无负边权…直奔主题,我先上一段代码//i是起点,j是终点,k是中转点for(int k = 1; k <= n; k++){ for(int i = 1; i <= n; i++){ for(int j = 1; j <= n; j++){ if(d[i][j] > d[i][k] + d[k][j]){ d[i][j] = d[i][k] + d[k][j]; } } }}我大一刚接触这玩意,压根不懂,原创 2021-09-29 12:47:19 · 1611 阅读 · 0 评论 -
基尔霍夫矩阵树
学习背景:1.头蜜汁晕,但是很清醒2.一只蝙蝠造就了我们的相遇3.内嵌HTML好好玩,有空学学HTML的制作,先转下大佬的怎么搞CSND字体的点我先给几个好东西:1.大佬的论文2.题目:uva107763.这个题目的答案/模板先说先这个东西矩阵树有啥用:用来解决生成树的计数问题,换句话说就是计算有多少种不同的生成树进入正题:首先,先学点线性代数的东西(...原创 2020-03-14 10:31:09 · 203 阅读 · 0 评论 -
poj1177(扫描线+线段树)
题目:有n个可以相交的矩形在二维平面中,求这些矩形的总周长。题解:转大佬,这篇题解讲得比较清楚,之前只会做面积,求周长也差不多的#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<se...原创 2020-03-08 18:42:08 · 433 阅读 · 0 评论 -
HDU - 3974
题目:一颗有根树n个节点,m次操作,T操作是以节点x为根的所有子树涂上颜色y,C操作是询问节点x是什么颜色。(1<=n,m<=1e5)感想+题解:这道题…真的是大杂脍,为了考知识点出题人费劲苦心。就是把整棵树跑dfs序,然后操作节点x就是给dfs序中的[L[x],R[x]]每个数涂上颜色y,这个就是要用线段树的延迟标记了。#include<iostream>#incl...原创 2020-03-06 21:44:29 · 157 阅读 · 0 评论 -
HDU3416(最短路最大流)
题目:有n个城市,m条不相同的有向边,给一个起点st和终点ed,每条路只能走一次,问在保证从起点到终点的路程最短的情况下,有几条路可以走?感想+题解:显然就是先构建一个新图跑最短路,然后把不符合的边去掉,或者说把可以构成最短路的边加到一个新图里面跑最大流,最短路和最大流就是模板的问题,问题就是怎么构建一个新图跑最大流。我的思路如下:正向跑一遍最短路得到d[i],其中d[i]表示起点st到点i的...原创 2020-02-29 21:44:21 · 305 阅读 · 0 评论 -
hdu4725(建图)
题目点我:有n个点,n层,m条节点与节点之间的无向边,第i个点属于第layer[i]层,相邻两层之间的点可以互相到达且距离为c,求最短路感想+题解:看了一眼数据,啥都没想直接套上模板就直接硬吃这道题,然后…又t又w,一脸懵逼的我点开了题解看了一看,发现要建图,直接连边100%会t。建立好多个图全部对拍过不去,瞄了一眼建图,发现层和层之间不能建立有向边…然后就a了。具体建图方式如下:首先把每一层...原创 2020-02-29 20:12:54 · 251 阅读 · 0 评论 -
poj3279(二进制枚举)
题目:感想:看了一下是kuangbin的专题,说是搜索专题,然后我就被带进去了。。。。我写搜索剪枝剪了好多都tle了,最后干脆不搜索了,直接枚举就a了。题解:二进制枚举第一行的点击方式,从第二行开始,根据上一行的数进行点击,什么意思呢?举个例子,假如第一行点击过后的数是0 1 0 1,第二行就要点击0 1 0 1,换句话说除了第一行,第二行开始,他们的点击位置pos[x][y]=前一行点击后...原创 2020-02-25 12:07:47 · 251 阅读 · 0 评论 -
new_bzoj(Matrix)
题目这是一道比较裸的二维hash题目,题解出自进阶书。思路就是列与列之间相乘p[1],行与行之间相乘p[n],其实挺好理解的,就是你把每一行的数都按顺序放在第一行后面求得的hash值就是这些,然后离线操作。#include<bits/stdc++.h>#define ll long long#define ull unsigned long long#define ld l...原创 2020-02-22 11:34:24 · 205 阅读 · 0 评论 -
CH1801(括号画家)
题目:原来的oj没了,将就一下看牛客的题目吧。感想:这道题目是进阶书上的,刷了一下,如果1A过了的话我就被他们的样例给骗了,这道题他们没有造好数据,而且上面的网站上的标程有个是错的,还好我瞎造数据还真找到了几组有用的数据,这里就看一下我造的数据吧,能过就过,过不了,像CF这些网站绝对hack死你们(捂脸)。数据在标程,能过你的代码也应该能AC了题解:一开始我是按照这个(进阶书)网站上错误的标程...原创 2020-02-18 22:30:55 · 215 阅读 · 0 评论 -
2020牛客寒假算法基础基础训练营(B题图)
题目感想:第一眼,就是一道tarjan的题目,然后就瞎搞,当然最后就wa了…有点可惜,图论的题目刷的还是太少了,拓扑序都没怎么搞懂,不然这道题能做出来的题解:首先可以知道这是一颗内向基环树森林,然后呢画画图发现,无论从哪个点出发,到最后终点(不重复经过同一个点)一定是在环内,然后拓扑序套一套就是tarjan的模板题目了#include<bits/stdc++.h>#define...原创 2020-02-15 20:35:16 · 178 阅读 · 0 评论 -
POJ3349雪花(全新hash思路)
题目:有n朵6边形的雪花,a[1],a[2],a[3],a[4],a[5],a[6]每个编号代表每朵雪花的长度,顺时针、逆时针、反转都被视为相同的雪花,问这一堆雪花里面有没有相同的雪花?1<=n<=1e5,0<=a[i]<=10000000感想:第二遍刷这道题,自己做了几个小时,wa了十几发,t了大二十发,终于过了,这题目真的碰撞率太大了,我用map标记都能超时,最后要开...原创 2020-02-15 12:00:48 · 604 阅读 · 0 评论 -
2020牛客寒假算法基础集训营5(B题 和J题)
B题平面上有n个点,在x轴上取一个点(x0,0),使得这n个点中,每个点到(x0,0)的最大距离最小(1<=n<=1e5,-1e4<=x,y<=1e4)题解:开始我想了想二分,好像不太行(其实是我太菜了),然后想到圆…然后就wa了几个小时,这是一道求极小值的题目,可以容易知道,任意两个点(lx,0)和(rx,0),其中lx<=x0<=rx,F(lx)>...原创 2020-02-13 20:14:42 · 94 阅读 · 0 评论 -
HDU4864——task
题目点我n个机器有x1,y1两个值,m项任务也有x2,y2两个值,当前仅当x1>=x2&&x2>=y2时,可以获得利益500*x2+y2,问最大能获得多少利益?题解:前几天做到牛客训练赛有道题(点我)和这道题99%一样,可惜了,要是早点做,我当时就不会当成最大流做…结果就是wa了,受到牛客这道题启发(牛客这道题题解在这(I题匹配星星)),我们要取一个x1和y1,找到...原创 2020-02-13 12:18:15 · 243 阅读 · 0 评论 -
acm:糖果传递
(感慨new_bzoj真的高级,和某211校的ACM的10块钱/月的oj相比就是不一样)题目链接,他这边少了个数据1<=n<=1e6,当然我刚开始找的题目时候n<=987654321…(这tm怎么做)题解:先转转大佬链接,刚开始我以为是平均数然后wa了,后来也没怎么想到就看大佬答案去了,这里题解说的就很清楚了,我没想到设L[i]和R[i]变量,所以一直没思路#include...原创 2020-02-12 21:16:53 · 256 阅读 · 0 评论 -
G牛牛的Link Power II(加等数列+线段树)
题意:有长度为n的01串,设s[i]=1,s[j]=1,让你计算所有满足s[i]=1,s[j]=1且1<=i<j<=n的j-i的总和,下面有m次操作+询问,问操作前和每一次操作的答案,1<=n,m<=1e5感想:这比赛是叫寒假**基础 **算法训练营,玩了2个小时的树状数组一直TLE,后来想想算错法时间复杂度了,看了看题解,加等数列是个什么鬼,还没怎么学,先转转大佬...原创 2020-02-09 16:21:57 · 175 阅读 · 0 评论 -
2020牛客寒假算法基础集训营第三场I牛牛的汉诺塔
n个盘子,汉诺塔问题中,问每一步要走多少次?(1<=n<=60)介绍一种菜逼的找规律方法找了一个小时规律,还是wa了,结束之后又打了个表瞎搞,终于找到了,怎么找呢?设个dp[i][j]表示j个木块第i步要走多少次,就是你打个表,我们肯定知道dp[i][j]肯定是从dp[i][j-1]推过来,然后你发现这个表每一个i的值都是有重复出现的,就比如dp[2][1]=1,dp[2][2]=...原创 2020-02-09 10:19:49 · 155 阅读 · 0 评论 -
2020牛客寒假算法基础集训营3 J题(线段树)
牛客寒假算法基础集训营3 J题(线段树)有n个k值和n个b值,m次询问+修改,设f[i][x]=k[i]*x+b[i]操作1:修改k[i],b[i]操作2:给一段区间[l,r],输出f[r][f[r-1][…f[l]]…]的值人生第一颗自建的线段树,第一次写博客,挖土挖了2个小时,对拍1小时,debug了3个小时,最后发现是ask函数写错了题解:瞎jb乱推可以得到一个这样的式子然后开...原创 2020-02-08 21:52:58 · 196 阅读 · 0 评论 -
poj2318(判断点在直线左侧还是右侧)
以下根据这两篇博客进行改写https://www.cnblogs.com/itsone/p/10728560.htmlhttp://hzwer.com/2580.html题意:有一个矩形箱子,n个木板和m个玩具,这个箱子被分成n+1个区域,问每个区域装有多少个玩具?(1<=n,m<=5000)很显然这就是一个判断点在直线哪一侧的问题,然后二分找答案代码如下#...原创 2020-04-30 19:29:17 · 311 阅读 · 0 评论