杂项
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=03) 按位或 | (相当于并集) : 1 | 1=1...原创 2018-04-28 21:43:46 · 195 阅读 · 0 评论 -
gdb调试相关
main函数中加freopen1.窗口键+R2.输入cmd3.输入 set path=D:\mingw4.8.4\bin 4.输入文件所在的硬盘 如(D:)5.输入cd "文件名"6.输入 g++ -g ~.cpp -o ~7.输入~8.输入gdb9.输入file ~10.输入 b 行数(从第几行开始调试)11.输入r (运行程序)12.输入n表示...原创 2018-03-12 08:44:33 · 154 阅读 · 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 评论