随笔分类 -  技巧-分治

摘要:@ "toc" 题意 给你一颗$n(1e5)$个点有边权有点权的树,$Min(u,v)$表示$u,v$路径最小点权,$gcd(u,v)$表示$u,v$路径点权的最大公因数,$dis(u,v)$表示$u,v$路径大小。 输出$max(dis(u,v) gcd(u,v) Min(u,v))$ 解析 法一 阅读全文
posted @ 2019-09-05 20:49 Cwolf9 阅读(149) 评论(0) 推荐(0)
摘要:QTREE4 cpp pragma comment(linker, "/STACK:102400000,102400000") // include include include include include include include include include define fi f 阅读全文
posted @ 2019-08-10 23:31 Cwolf9 阅读(146) 评论(0) 推荐(0)
摘要:@ sudo apt update && sudo apt upgrade sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison sudo 阅读全文
posted @ 2019-08-04 12:58 Cwolf9 阅读(371) 评论(1) 推荐(0)
摘要:问题可以转换为求有多少个区间数字的总和除2向下取整大于等于最大值。或者解释为有多少个区间数字的总和大于等于最大值的两倍(但是若区间数字总和为奇数,需要算作减1) 启发式分治: 首先按最大值位置分治,遍历长度较短的一边,枚举它为一个端点,另一边二分算贡献即可。 复杂度大概$nlog(n)^2$ cpp 阅读全文
posted @ 2019-07-31 22:28 Cwolf9 阅读(210) 评论(0) 推荐(0)
摘要:[toc] 初学推荐博客: "LemonMZc" "BraketBN" "Owen_codeisking" CDQ&整体二分教程和题目: "Winniechen" "1" 小结 CDQ分治 二维LIS 如果你还没学过CDQ分治,可以先忽略这题。。。呃 首先这题一看就是一个三维偏序的裸题,不过普通CD 阅读全文
posted @ 2019-01-17 14:05 Cwolf9 阅读(424) 评论(0) 推荐(0)
摘要:"ZOJ2107" "HDU1007" "POJ3714" cpp include include include include include include include using namespace std; int n; struct node{ double x; double y; 阅读全文
posted @ 2018-12-30 16:27 Cwolf9 阅读(464) 评论(0) 推荐(0)