随笔分类 - 技巧-分治
摘要:@ "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))$ 解析 法一
阅读全文
摘要:QTREE4 cpp pragma comment(linker, "/STACK:102400000,102400000") // include include include include include include include include include define fi f
阅读全文
摘要:@ 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
阅读全文
摘要:问题可以转换为求有多少个区间数字的总和除2向下取整大于等于最大值。或者解释为有多少个区间数字的总和大于等于最大值的两倍(但是若区间数字总和为奇数,需要算作减1) 启发式分治: 首先按最大值位置分治,遍历长度较短的一边,枚举它为一个端点,另一边二分算贡献即可。 复杂度大概$nlog(n)^2$ cpp
阅读全文
摘要:[toc] 初学推荐博客: "LemonMZc" "BraketBN" "Owen_codeisking" CDQ&整体二分教程和题目: "Winniechen" "1" 小结 CDQ分治 二维LIS 如果你还没学过CDQ分治,可以先忽略这题。。。呃 首先这题一看就是一个三维偏序的裸题,不过普通CD
阅读全文
摘要:"ZOJ2107" "HDU1007" "POJ3714" cpp include include include include include include include using namespace std; int n; struct node{ double x; double y;
阅读全文