杂项
ShɑΙteж
think twice,code once
展开
-
注意事项
将递推关系转化为DAG图,起始点:该状态不能由任何拓扑序小于自己的节点的状态推出,该节点入度为0。若起始点有多个,当且仅当每个起始点不存在祖先后代关系时成立。若起始点只有一个,当且仅当DAG图中只存在一个入度为0的点。 题目需要累乘,如果乘出来的数过大,可以考虑转化成log运算,变成加法 ntt取模mod=479*(1<<21)+1; 原根为3 dfs的时候需要回溯的数组不能修...原创 2018-06-13 19:48:58 · 148 阅读 · 0 评论 -
位运算
1) 异或 ^ : 每一位上的二进制数相同为0,不同为1 a^a=0 ; a^b^a = b ; a^b^b = a ; a^0=a ; 2) 按位与 & (相当于交集) : 1&1=1 1&0=0 0&1=0 0&0=0 3) 按位或 | (相当于并集) : 1 | 1=1...原创 2018-04-28 21:43:46 · 195 阅读 · 0 评论 -
gdb调试相关
main函数中加freopen 1.窗口键+R 2.输入cmd 3.输入 set path=D:\mingw4.8.4\bin 4.输入文件所在的硬盘 如(D:) 5.输入cd "文件名" 6.输入 g++ -g ~.cpp -o ~ 7.输入~ 8.输入gdb 9.输入file ~ 10.输入 b 行数(从第几行开始调试) 11.输入r (运行程序) 12.输入n表示...原创 2018-03-12 08:44:33 · 155 阅读 · 0 评论 -
快读模板
#include<bits/stdc++.h> using namespace std; inline int Read() { int f=1,num=0; char ch=getchar(); while(0==isdigit(ch)){if(ch=='-')f=-1;ch=getchar();} while(0!=isdigit(ch)) num=(num<<...原创 2018-02-25 16:28:24 · 959 阅读 · 0 评论 -
回溯算法框架
int dfs(int k) { for(int i=1;i<=选择总数;i++) if(满足条件) { 保存结果; if(到达目的地) 输出解; else dfs(k+1); 恢复:保存结果之前的状态(回溯一步) ...原创 2018-02-22 12:14:20 · 473 阅读 · 0 评论 -
二叉树的重建
这个困扰我一个星期的问题终于解决了,看了网上很多博客,都只讲了大体思路,但具体关系并无未说明,所以今天我想详细解释一下。 C / \ / \ B G / \ / A D H / \ E F 这里用'la'表示中序的起点...原创 2018-02-21 13:30:00 · 232 阅读 · 0 评论 -
0000.cpp
#include<bits/stdc++.h> using namespace std; int main() { emmmm; 这个博客从今天开始会记录我的学习过程; 直到退役......; return 0; }原创 2018-02-11 22:16:59 · 229 阅读 · 0 评论 -
STL相关
lower_bound 返回值就是返回第一次出现大于等于那个要查找的数的地址 upper_bound 返回值就是返回第一次出现大于那个要查找的数的地址 离散化 rep(i,1,n)a[i]=read(),b[i]=a[i]; sort(b+1,b+n+1); cnt=unique(b+1,b+1+n)-b-1;//减去起始地址 rep(i,1,n)a[i]=lower_bound...原创 2019-03-12 20:00:57 · 163 阅读 · 0 评论