摘要:
补 http://codeforces.com/contest/1491/problem/C 时候学会的 用L和R数组存区间[Li,Ri],声明一个变量tmp,对于点i,tmp += L[i],处理结束后,tmp -= R[i], 这样就可O(1)实现计算某个点被多少个区间覆盖 阅读全文
摘要:
https://vjudge.net/problem/UVA-1151 题意:给n个点,连接点i和点j的边的花费为两点的欧几里得距离,有q套构成,可以直接使用对应的花费将套餐中的点加入生成树,也可以直接建边,求最小生成树。 思路:先对n个点进行一次Kruskal,之后对套餐的选中与否进行状态压缩,遍 阅读全文
摘要:
题目: 题意:给一个长度为n的非降序的数组,询问q次,问[L,R]内出现最多的数字的出现次数。 思路:因为数组是非降序的,相同的数字会聚集到一起,可以进行离散化,用cnt[i]表示第i段数字一共出现的次数,num[p]表示 p位置的编号,lft[p]表示p位置的数字的最左位置,rit[p]同理。那么 阅读全文
摘要:
题目大意:有一个长度为n的数组a,定义k-amazing为a中每个长度为k的子串都有的数字中最小的。要求输出k=1,2...n时的k-amazing。 思路:对每个数字求最长间距cal 则k>=cal时表示k-amazing条件成立 注意应该对一个数字中第一次出现的位置和最后一次出现的位置特判 1 阅读全文
摘要:
题目大意:给一个长为n的数组,一次操作是指选择i,j,x,使a[i]=a[i]-i*x,a[j]=a[j]+i*x,问能否在3*n次内通过操作使整个数组为同一个数字 思路: 通过 a[i]=a[i]-i*x,a[j]=a[j]+i*x 可知数组的总和是不会改变的,那么最后数组里的数字一定是平均数,如 阅读全文
摘要:
传送门:https://atcoder.jp/contests/abc044/tasks/arc060_a 挺容易想到的dp,但是因为脑残改了一晚上,最后出错的地方自己都看笑了 //数据很小,复杂度最高但最好理解的三维dp也能过 1 #include<cstdio> 2 #include<cstri 阅读全文
摘要:
整理板子的时候翻出来的题,放在一起写是因为都是Kruskal纯板子题。 1 #include<cstdio> 2 #include<cstring> 3 #include<iostream> 4 #include<algorithm> 5 #include<cmath> 6 #include<str 阅读全文
摘要:
按不存在的惯例放个题目链接https://www.luogu.org/problem/P1339 点有2500个,边只有6200个,是稀疏图,于是决定学一下spfa spfa板子题,直接上代码了 心得就是稍微学了一下stl() 1 #include<cstdio> 2 #include<cstrin 阅读全文
摘要:
AtCoder刚注册就随便点了个比赛来写,没想到被C题卡了一发tle一发wa,过于丢人,水个博客纪念一下。 传送门:https://atcoder.jp/contests/abc134/tasks/abc134_c 题意就是输入N个数字后按顺序每次输出除Ai外最大的数字。 一开始偷懒想着直接两个fo 阅读全文
摘要:
本废物的第一篇博客,正好在写这道题,就拿来练练手了。也就写写这种基础题目了 传送门:https://www.luogu.org/problemnew/show/P1141 裸上bfs会TLE,我们可以发现同一个连通图上的点的答案应该是一样的。所以选择用连通图来优化一下,速度超级加倍。 代码如下: 1 阅读全文