随笔分类 -  奥赛笔记

几乎都是一些模板(因为懒得写原理)
摘要:1.儒略日 这貌似不像是模拟,倒像小学数学题? 代码 #define sandom signed #include <bits/stdc++.h> #define re register int #define int long long using namespace std; inline in 阅读全文
posted @ 2022-10-05 07:04 sandom 阅读(86) 评论(0) 推荐(2) 编辑
摘要:const double down = 0.996;//降温系数 const double eps = 1e-15;//终止温度 double ansx, ansy, answ, T; struct point { int x, y, w; } a[Z]; inline double dis(dou 阅读全文
posted @ 2022-10-02 18:01 sandom 阅读(27) 评论(0) 推荐(1) 编辑
摘要:康托展开可以用来求一个1~n的任意排列的排名(按照字典序)。 rnk=1+i=1nA[i](ni)! A[i]表示j=in[a[j]<a[i]] 尝试构造出字典序比当前排列小的有几个排列,枚举i表示,[1, i-1] 阅读全文
posted @ 2022-07-24 19:07 sandom 阅读(62) 评论(0) 推荐(2) 编辑
摘要:求解最大回文字符子串。 首先会想到一个算法,枚举每个字符作为中心点(奇数)或中心点左一个(偶数),分别向两侧扩展到最大长度。时间复杂度O([n,n^2]),随机数据接近O(n)。显然是不稳定的。 考虑回文字符串内部的性质:关于回文串中心点对称的两个字符串,一定对称且全等。 设回文串中心点为mid,右 阅读全文
posted @ 2022-07-23 11:56 sandom 阅读(33) 评论(0) 推荐(3) 编辑
摘要:a[]为全体实数集 1.O(n^2)枚举 2.利用单调性和贪心O(n) 首先我们累加a[i],直到sum出现了负数,这时候不管后面的数如何,舍弃前面这一段一定比保留更优,因为舍弃后sum=0。 int max_sum() { int ans = 0, tmp = 0; for (re i = 1; 阅读全文
posted @ 2022-07-23 11:43 sandom 阅读(54) 评论(0) 推荐(2) 编辑
摘要:当答案线性单调变化(也就是类一次函数),可以使用二分答案,取mid,若小于mid的满足,则大于mid的不满足或不更优,在题目中多表现为求:最大值最小,最小值最大。将求解转化为判定。 int middle(int l, int r)//二分答案 { int ans = 0; while (l <= r 阅读全文
posted @ 2022-07-23 11:21 sandom 阅读(43) 评论(0) 推荐(2) 编辑
摘要:对一棵树多次选取某些点进行询问,我们称这些点为关键点,而其他点不影响答案,我们可以建立一棵虚树,只包含这些关键点以及连接他们的LCA。 inline bool cmp(int A, int B) { return dfn[A] < dfn[B]; } int stk[Z], tp; inline v 阅读全文
posted @ 2022-07-20 21:15 sandom 阅读(38) 评论(0) 推荐(2) 编辑
摘要:int siz[Z], kid[Z], root, size;//kid[rt]:该点的最大子树的大小 bool vs[Z]; void getroot(int rt, int fa)//求树的重心 { siz[rt] = 1, kid[rt] = 0; for (re i = head[rt]; 阅读全文
posted @ 2022-07-04 12:07 sandom 阅读(39) 评论(0) 推荐(2) 编辑
摘要:生成数据(data) inline int random(int n) { return 1ll * rand() * rand() % n + 1; } inline int get(int l, int r) { return 1ll * rand() * rand() % (r - l + 1 阅读全文
posted @ 2022-07-02 22:08 sandom 阅读(54) 评论(4) 推荐(4) 编辑
摘要:hash:将字符串转为B进制数 const int B = 131; const int M = 1e9 + 7; #define int unsigned long long void init(int n) { ba[0] = 1; for (re i = 1; i <= n; i++) ba[ 阅读全文
posted @ 2022-04-09 14:09 sandom 阅读(53) 评论(4) 推荐(2) 编辑

点击右上角即可分享
微信分享提示