建个草稿库 以后仔细看
就当做草稿,以后不定期维护内容
朝花夕拾喵
这个作者很懒,什么都没留下…
展开
-
LIS (Longest Increasing Sequence)
struct LIS { int q[MAXn], r = 1, l = 1; void init() { for (int i = 1; i <= n; i++) { if (l < r)r = std::lower_bound(q + l, q + r, a[i]) - q;//寻找第一个大于等于的数字 q[r++] = a[i]; } } int size(){ return r - l; }}L;原创 2021-06-16 13:24:49 · 75 阅读 · 0 评论 -
洛谷P2241 统计方形 解题报告!
题目描述有一个 n×mn\times mn×m 方格的棋盘,求其方格包含多少正方形、长方形(不包含正方形)。输入格式一行,两个正整数 n,m(n≤5000,m≤5000)n,m(n \leq 5000,m \leq 5000)n,m(n≤5000,m≤5000)输出格式一行,两个正整数,分别表示方格包含多少正方形、长方形(不包含正方形)。输入输出样例输入2 3输出8 10代码:#pragma warnign(disable:4996)#include<stdio.h>原创 2021-06-04 22:56:40 · 219 阅读 · 0 评论 -
求多个数的最大公约数,最小公倍数
首先是两个数的,我们用辗转相除法来做int gcd(int x, int y){return y == 0 ? x : gcd(y, x%y); }int lcm(int x, int y){return x*y/gcd(x, y);}多个数的话连续算就好了//a[] 数组存放数,总共有n个数int t = gcd(a[1], a[2]);for(int i = 3; i <= n; i++){t = gcd(t, a[i]);}...原创 2021-06-04 14:49:50 · 78 阅读 · 0 评论 -
一个小问题关于 2-SAT
今天学 2-SAT 的时候,思考了个小问题假如有一颗树, 树上每个节点有一个布尔值。现在有一些限制条件1:布尔值为0的节点的父亲的值为02:布尔值为1的节点的孩子的值为1原创 2021-05-18 15:59:32 · 41 阅读 · 0 评论 -
宏定义的嵌套使用
很好奇宏定义可否嵌套使用经试验 可以,分下面两种情况#include<stdio.h>//#define ls(p) (p << 1)#define lls(p) (ls(ls(p)) << 1)#define ls(p) (p << 1)int main() { printf("%d ", lls(1)); return 0;}#include<stdio.h>#include<iostream>#defin原创 2021-05-14 10:29:33 · 2355 阅读 · 0 评论 -
关于ios::sync_with_stdio(false)的一些小问题
常见“我在本地/xxOJ AC了、洛谷却不过”的原因Linux中换行符是’\n’而Windows中是’\r\n’(多一个字符),有些数据在Windows中生成,而在洛谷评测机Linux环境下评测。这种情况在字符串输入中非常常见。评测系统建立在Linux下,可能由于使用了Linux的保留字而出现CE,但在Windows下正常。Linux对内存的访问控制更为严格,因此在Windows上可能正常运行的无效指针或数组下标访问越界,在评测系统上无法运行。严重的内存泄露的问题很可能会引起系统的保护模块杀死你的原创 2021-05-13 20:25:45 · 611 阅读 · 0 评论