01 2019 档案
摘要:D - windy数 windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,在A和B之间,包括A和B,总共有多少个windy数? 题解:用dp[i][j]表示对前i位,在第i+1位为j时的windy数 代码解释: /**********
阅读全文
摘要:传送门:处女座和小姐姐(三) 题意:给个区间,求区间中包含六的数的个数(long long 型) 思路:数位DP,还是dalao的模板好,先求出0~n中不包含六的数,再减一下。 WA:记忆化搜索(dfs),否则TLE... /*************************************
阅读全文
摘要:memset是刷内存用的,一次刷一个字节,而且速度超级快。 如:memset(a,1,sizeof(a)); 运行后a数组中元素的值(int型,四个字节) 因此得到的答案是 结论:memset只能用于清零或清为-1(可以自行证明) 测试代码:
阅读全文
摘要:题目:不要62 参考dalao: 数位dp总结 之 从入门到模板 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 62324 Accepted S
阅读全文
摘要:P1896 [SCOI2005]互不侵犯 题目描述 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。 注:数据有加强(2018/4/25) 输入输出格式 输入格式: 只有一行,包含两个数N,K (
阅读全文
摘要:题目:P1879 [USACO06NOV]玉米田Corn Fields 参考:状态压缩动态规划 状压DP 农场主John新买了一块长方形的新牧场,这块牧场被划分成M行N列(1 ≤ M ≤ 12; 1 ≤ N ≤ 12),每一格都是一块正方形的土地。John打算在牧场上的某几格里种上美味的草,供他的奶
阅读全文
摘要:P2622 关灯问题II 参考:状态压缩动态规划 状压DP 位运算例题(结合BFS):P2622 关灯问题II 题目描述 现有n盏灯,以及m个按钮。每个按钮可以同时控制这n盏灯——按下了第i个按钮,对于所有的灯都有一个效果。按下i按钮对于第j盏灯,是下面3中效果之一:如果a[i][j]为1,那么当这
阅读全文
摘要:快速计算一个无向图中的环的个数 用BFT的方法来计算环的个数: 每个节点有三个状态:未访问,处在队列里,访问过并已经出队。 用BFT的方法遍历图,每次将新的节点入队前,都要检查该节点是否在队列里,或者是否已经从队列中弹出。 如果该节点在队列里,那么环的个数加一。其他情况,环的个数不变。 最后,遍历结
阅读全文
摘要:I - Ant Trip 参考博客:Ant Trip(欧拉回路+并查集) 参考:欧拉路径问题与欧拉回路问题 题意:给你无向图的 N 个点和 M 条边,保证这 M 条边都不同且不会存在同一点的自环边,现在问你至少要几笔才能所有边都画一遍。(一笔画的时候笔不离开纸) 思路:先并查集将无向图的每个连通图分
阅读全文
摘要:参考: 1,Watchcow(poj 2230) 2,POJ2230 Watchcow【欧拉回路】 例题: H - Watchcow 题意:给个无向图,求一条回路,经过每条边两次,每次不同向,求无向图每条边恰好经过两次,在回到原点,输出经过的顶点。 容易转化为有向图欧拉回路每条边经过一次 递归写法(
阅读全文
摘要:题:欧拉回路 参考:浙大复试 HDU 1878 欧拉回路 本题是给图判断图中是否存在欧拉回路,欧拉回路的含义题目中也说明了,本题的思路就是并查集判断图是否连通,如果不连通不可能存在欧拉回路,如果连通了判断欧拉回路存在的条件是图中各点的度全部为偶数(所以这里需要注意将存放顶点度的数组初始化)。 1 /
阅读全文
摘要:「笔记」读入优化 终极模板: 1 #include<cstdio> 2 class Read 3 { 4 private: 5 inline char getc() 6 { 7 static char buf[1<<18], *fs, *fe; 8 return (fs == fe && (fe =
阅读全文
摘要:c++优先队列(priority_queue)用法详解 //升序队列 priority_queue <int,vector<int>,greater<int> > q; //降序队列 priority_queue <int,vector<int>,less<int> >q; //greater和le
阅读全文
摘要:D - Ordering Tasks 题意:给个有向图,进行拓扑排序,也可使用BFS进行拓扑排序 1 /***********************************************/ 2 struct node{ 3 int v; 4 node(){} 5 node(int _v)
阅读全文
摘要:B - Bicoloring 参考2:Bicoloring (并查集/二分图) 题意:判断此图是否为二分图(染色法,相邻两点不同色) AC代码: 1 /***********************************************/ 2 3 int co[250]; 4 5 stru
阅读全文
摘要:A - How Many Tables 实现1代码: 1 /***********************************************/ 2 #define set st 3 int set[1006]; 4 int n,m; 5 void join(int a,int b) 6
阅读全文
摘要:参考:已知三点坐标,求三角形面积 1: 已知直角坐标系3点p(a,b),m(c,d),n(e,f)求三角形pmn面积 两倍三角形面积是整型 代码模板: ll solve(ll a,ll b,ll c,ll d,ll e,ll f)//计算两倍三角形面积 { return abs(a*d+b*e+c*
阅读全文
摘要:参考博客:STL nth_element神器 官方解释:http://www.cplusplus.com/reference/algorithm/nth_element/ nth_element(first,nth,last) 即寻找数组中由小到大排在第n的元素,放在第n个位置上(假设下标从1开始)
阅读全文
摘要:题目:处女座的测验(一) 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288KSpecial Judge, 64bit IO Format: %lld 题目描述 处女座进行了一场c语言的考试,要求很简单,输出2000个正整数,并且满足以下条件: 1.
阅读全文
摘要:梅氏砝码问题 例题 处女座的砝码 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld 题目描述 处女座热爱做物理实验,为了实验,处女座必须要精确的知道物品的质量。处女座准备自己设计一套砝码,每一个砝码都是正整
阅读全文
摘要:转:ACM-高精度模板(综合篇) 在这里,我们约定,能用int表示的数据视为单精度,否则为高精度。所有函数的设计均采用带返回值的形式。 本文包含 1.高精度加法 2.高精度减法 3.高精度乘法 1)高精度乘高精度的朴素算法 2)高精度乘高精度FFT优化算法 3)高精度乘单精度 4.高精度除法 1)高
阅读全文
摘要:参考博客: 大数量级组合数的快速计算方法,log转化 组合数取模 组合数取模2 组合公式 c(n,m)=p(n,m)/m!=n!/((n-m)!*m!) c(n,m)=c(n,n-m) c(n,m)=c(n-1,m)+c(n-1,m-1) 欧拉定理 (< 自家博客) 欧拉定理,(也称费马-欧拉定理)
阅读全文
摘要:参考:大数量级组合数的快速计算方法 ll C(int n,int m) { if(m>n) return 0; double sum=0; // ln( C(n,m) ) for(int i=m+1;i<=n;i++) sum+=log(i); for(int i=1;i<=n-m;i++) sum
阅读全文
摘要:代码: 对a数组离散化 void Discretization(int *a,int n) { int b[n+2]; for(int i=1;i<=n;i++) b[i]=a[i]; sort(b+1,b+n+1); int size=unique(b+1,b+n+1)-b-1;//size为离散
阅读全文
摘要:一:知识点 欧拉函数参考1 浅谈欧拉函数参考2 欧拉函数的定义: 在数论中,对于正整数N,少于或等于N ([1,N]),且与N互质(即gcd为1)的正整数(包括1)的个数,记作φ(n)。 欧拉函数的延伸: 小于或等于n的数中,与n互质的数的总和为:φ(x) * x / 2 (n>1)。 (如果mod
阅读全文
摘要:C. Classy Numbers C. Classy Numbers time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output Let'
阅读全文
摘要:E - Stars 题意:B表示点亮改点,D表示熄灭,Q查询区间内亮的个数 Sample Input 5 B 581 145 B 581 145 Q 0 600 0 200 D 581 145 Q 0 600 0 200 AC代码: 1 #include <bits/stdc++.h> 2 3 us
阅读全文
摘要:A - A Simple Problem with Integers "C a b c" means adding c to each of Aa, Aa+1, ... , Ab. -10000 ≤ c ≤ 10000."Q a b" means querying the sum of Aa, Aa
阅读全文
摘要:P1164 小A点菜 d[i][j] : 前i个菜刚好花费j元的方案数 int d[200][10008]; int main() { int n,m; cin>>n>>m; int v[200]; for(int i=1;i<=n;i++) cin>>v[i]; d[1][0]=1; d[1][v
阅读全文
摘要:招生 #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <string> #include <vector> #include <stack> #include <map> #
阅读全文
摘要:const int N = 100000 + 5; bool prime[N];//prime[i]表示i是不是质数 int p[N], tot;//p[N]用来存质数 void init(){ for(int i = 2; i < N; i ++) prime[i] = true;//初始化为质数
阅读全文
摘要:1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 #include <cstring> 5 #include <string> 6 #include <vector> 7 #include <map> 8 #incl
阅读全文
摘要:例题:4421: 交税 4421: 交税Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 246 Solved: 55Description阿强愉快的拿到了自己工资,可是抠门的他发现自己还要没有交税。X国采用一种奇怪的税收方式。对于工资 num,需要收的税是
阅读全文
摘要:LZDFDSMLL吃批萨 题解:(参考)在矩阵中寻找最大正方形连续区域 M中的每一个元素MijMij都有一个与之对应的数值maxijmaxij记录着以这个元素为左上角顶点的最大的一个正方形连续区域的大小(行/列 数)。 对元素MijMij有两种状态 Mij≠kMij≠k , 此时可以得出maxij=
阅读全文
摘要:链接:https://ac.nowcoder.com/acm/contest/358/D来源:牛客网出题人的手环时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 524288K,其他语言1048576K64bit IO Format: %lld题目描述 出题人的妹子送了出题人一个手环,这
阅读全文
摘要:浅谈线段树 线段树详解(非递归实现) 线段树与树状数组的区别,作者:闵梓轩 demo /***********************************************/ int n,a[maxn+2],m; struct node{ int l,r; int h; }tree[4*m
阅读全文