上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 37 下一页
摘要: DP+图论大毒瘤。 推荐这个博客。 先跑两遍最短路,搞掉一些无用点。 然后选出最短路上的边,做拓扑排序。 然后每层DP。 具体看代码。 用到的数组较多,记得清空。 1 #include <cstdio> 2 #include <queue> 3 #include <cstring> 4 const 阅读全文
posted @ 2018-09-14 21:27 huyufeifei 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 经典NIM游戏。 取XOR和即可。 注意输出方案时,找到大于异或和sum的,变为a[i] ^ sum即可。 1 #include <cstdio> 2 const int N = 500010; 3 int a[N]; 4 int main() { 5 int n, sum = 0; 6 scanf 阅读全文
posted @ 2018-09-14 21:22 huyufeifei 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 好,经典扩展域并查集(冰茶几)。 因为有三个动物形成环(这不生物),所以并查集开3倍。 x - y 表示同类,x - (y + n) 表示 y 吃 x 然后瞎搞搞即可。 思考:如果不是环,就是个A <- B <- C的食物链呢?如果还有A吃C呢? 据说是bitset 1 #include <cstd 阅读全文
posted @ 2018-09-10 21:58 huyufeifei 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 大概就是二分+树上差分... 题意:给你树上m条路径,你要把一条边权变为0,使最长的路径最短。 最大的最小,看出二分(事实上我并没有看出来...) 然后二分k,对于所有大于k的边,树上差分求出最长公共边,然后看是否可以。 (yy的解法②:边按照长度排序,然后二分。删除最长公共边。据logeadd j 阅读全文
posted @ 2018-09-10 21:08 huyufeifei 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 好,终于搞完了这一道毒瘤题...... 先想到搜索,然后想到状压,发现数据组数很多,又是随机,还是决定用搜索。 先搜出的多的,于是顺序是三个顺子,然后按照多到少搜带牌,最后是不带牌。 大体思路很简单,写起来很毒瘤... 注意很多细节...我就是一个地方没写上界导致数组越界了。 三带一别带自己,因为可 阅读全文
posted @ 2018-09-10 15:20 huyufeifei 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 经典水题....... 断环为链长度乘二,求前缀和区间DP。 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #define int long long 5 const int N = 210; 6 7 int f[ 阅读全文
posted @ 2018-09-06 20:59 huyufeifei 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 这个大毒瘤题....居然反向卡精度.... 别的题eps要开小,这个毒瘤要开大... 我一开始是1e-12,挂的奇惨无比,50分...... 然后改成1e-7,就70分了... 1e-5 90分 1e-4 AC 做法就是用高斯消元的变式,消出一个上三角形,然后把代价加起来就行了。 每次选择花费最小的 阅读全文
posted @ 2018-09-04 21:35 huyufeifei 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 题意: 给你一个序列,长度为n。你需要进行n - 1次操作,每次合并两个相邻的数,代价是max,合并后成为max,求最小代价。 n <= 1e6 解: 有个显然的做法是nlogn的,显然不行... 要搞个O(n)的算法,显然是贪心。 然而想不出来... 主要有两种思路。 ①合并成一颗树。从根向下考虑 阅读全文
posted @ 2018-09-04 16:56 huyufeifei 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 题意: 你一开始有INF元,已知某股票n天的价格,你每天可以买1支股票,卖一支股票,不操作。问n天后你最多盈利多少。 解: 搞一个小根堆。 每天的股价都往里面扔两次,然后取当天价格 - 堆顶即为当天盈利。 堆中的数值意味着可能购买这个价的股票。 出堆意味着买 + 卖。 可以把不操作看成买1卖1,把买 阅读全文
posted @ 2018-08-29 07:33 huyufeifei 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 题意:求[a, b]之间差最大/小的相邻素数。 0 < a, b < 2^32, 0 < b - a <= 1e6 首先发现a,b很大,以至于无法求出素数来。 然后就考虑退而求次,求出sqrt(b)以内的素数。 发现可以枚举[a, b]之间的数,还开的下一个vis数组。 然后考虑筛去所有合数。 用s 阅读全文
posted @ 2018-08-20 23:19 huyufeifei 阅读(89) 评论(0) 推荐(0) 编辑
上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 37 下一页
试着放一个广告栏(虽然没有一分钱广告费)

『Flyable Heart 応援中!』 HHG 高苗京铃 闪十PSS 双六 電動伝奇堂 章鱼罐头制作组 はきか 祝姬 星降夜