实用模板
zehong1995
这个作者很懒,什么都没留下…
展开
-
HDU 1166 树状数组&&线段树模板1
#include <bits/stdc++.h>using namespace std;const int maxn = 50000;int tree[maxn + 10];char op[10];inline int lowbit(int x) { return (x & -x);}void add(int x, int val) { while(x <= maxn)原创 2017-08-16 14:46:59 · 209 阅读 · 0 评论 -
UVA “strcmp()" Anyone?【字典树数组链表版】
UVA “strcmp()” Anyone?题意: Sample Input 2 a b 4 cat hat mat sir 0 Sample Output Case 1: 1 Case 2: 6题目链接:https://odzkskevi.qnssl.com/d53d2ae0b0fc885d7fb0af4dcea1489e?v=1508641012#include <bi原创 2017-10-25 19:27:16 · 202 阅读 · 0 评论 -
大组合数取余模板
求C(n, m) % mod 12345678910111213141516171819202122232425262728293031323334353637383940#include using namespace std;long long fact[200200];long long原创 2017-08-04 10:55:51 · 388 阅读 · 0 评论 -
Shortest Prefixes【trie树】
字典树入门题题意: 任何字符串不能是其余字符串的前缀(跟哈夫曼编码一样)。 求出每个字符串最短前缀,且可唯一识别该串。 题目链接: https://odzkskevi.qnssl.com/c6f7f52e0997f01b37ef9c45742fcf77?v=1508370599 Sample Input 1 carbohydrate cart carburetor cara...原创 2017-10-25 20:22:18 · 228 阅读 · 0 评论 -
JAVA 结构体sort举例
HDU 1865 最小生成树import java.awt.List;import java.io.BufferedInputStream;import java.util.ArrayList;import java.util.Collections;import java.util.Scanner;public class Main { public static class N原创 2017-10-25 19:22:17 · 254 阅读 · 0 评论 -
输入外挂
输入数字的外挂#include <bits/stdc++.h>using namespace std;typedef long long LL;inline LL read(){ LL x = 0,f = 1; char ch=getchar(); while (ch < '0' || ch > '9') { if (ch == '-') f = -1;原创 2017-08-09 09:45:13 · 591 阅读 · 1 评论 -
矩阵快速幂学习笔记
矩阵快速幂基于快速幂原理,也就是二进制倍增的原理。可以用来求递增式的解。 首先我们来说一个简单的递增式:f(n)=f(n−1)+f(n−2),f(0)=1,f(1)=1f(n)=f(n−1)+f(n−2),f(0)=1,f(1)=1f(n)=f(n-1)+f(n-2),f(0)=1,f(1)=1 1.第一步要做的是构造矩阵:[f(n)f(n−1)]=[1110]×[f(n)f(n−1)]=[1...原创 2017-10-20 11:00:23 · 234 阅读 · 0 评论 -
JAVA BigDecimal除法精度和格式化输出
import java.math.BigDecimal;import java.math.MathContext;import java.math.RoundingMode;import java.text.DecimalFormat;public class Main { public static void main(String[] args) { //保留两位原创 2017-10-10 17:53:51 · 4557 阅读 · 0 评论 -
java中的BigDecimal和String的相互转换
/*由数字字符串构造BigDecimal的方法 *设置BigDecimal的小数位数的方法 */ import java.math.BigDecimal; //数字字符串 String StrBd="1048576.1024"; //构造以字符串内容为值的BigDecimal类型的变量bd BigDecimal bd=new BigDecimal(StrBd);转载 2017-10-09 20:02:31 · 521 阅读 · 0 评论 -
最短路模板 HDU1874
O(n2)的dijkstra。点少的时候用。#include <bits/stdc++.h>using namespace std;const int maxn = 550;const int inf = 0x3f3f3f3f;int mp[maxn][maxn]; //图int d[maxn]; //s到其余点的距离bool vis[maxn]; //标记访问int n, m; /原创 2017-10-08 14:03:17 · 221 阅读 · 0 评论 -
LIS模板O(nlogn)
严格递增LISint solve(int x) { int dp[maxn + 5]; memset(dp, 0x3f, sizeof(dp)); dp[0] = b[0]; int top = 1; for(int i = 1; i < x; ++ i) { if(b[i] > dp[top - 1]) { dp[to原创 2017-09-27 18:06:07 · 279 阅读 · 0 评论 -
STL:大小写字母转换、字符转数字、char*转string(未完待续)
123456789101112131415161718192021222324252627282930313233343536373839404142434445#include using namespace std;int main(){ // 字符转大小写 cout 'a')原创 2017-08-04 10:53:59 · 585 阅读 · 0 评论 -
n & (n-1) 和 n & (-n)
n&n-1 清除n最右边的1n&-n取得n最右边的1原创 2017-08-04 10:55:26 · 980 阅读 · 0 评论 -
Cutting (暴力 + 滚动哈希判字符串匹配)
题意:给你两串小写字符串a和b,问能否将a拆成三段重新组成b做法:枚举拆分位置,也就是C(2,4999)。然后judge时用滚动哈希判断字符串是否匹配。PS:WA了好多发,因为爆int(忘记1LL,取模没取好...)。滚动哈希不一定能A,但基本都能A。123456789101112131415161718192021222324原创 2017-08-04 10:55:43 · 432 阅读 · 0 评论 -
Codeforces Round #425 (Div. 2) D - Misha, Grisha and Underground【LCA倍增】
D - Misha, Grisha and Underground【LCA倍增】题意:给你一棵n个结点无向树。我们假定根为结点1。给你三个点,求任意两点到另外一点的最大重叠路径 + 1。思路:如果知道LCA,那这题就接近是裸题了。可以简单证明三个点必有两个点的LCA是一样的。然后答案就是深度大的LCA到三点距离的最大值。这个通过画图可以清晰的知道结果。 代码:#include <bits/stdc原创 2017-08-09 23:09:17 · 615 阅读 · 0 评论 -
STL :sscanf sprintf的应用
PAT 1054 网上看到的,很好的应用了这两个函数。12345678910111213141516171819202122232425262728293031323334#include using namespace std;int main() { int n, cnt = 0;原创 2017-08-04 10:54:48 · 247 阅读 · 0 评论