10 2017 档案
摘要:#include<cstdio> #include<string> #include<iostream> using namespace std; int p[101]; int main() { string a,b; cin>>a>>b; int n=a.length(),m=b.length(
阅读全文
摘要:#include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #include<cmath> #include<vector> #include<queue> #include<
阅读全文
摘要:sort一下就是cows。。。 #include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #include<cmath> #include<vector> #include<
阅读全文
摘要:给定n个集合 输出每个集合是多少集合的子集 #include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #include<cmath> #include<vector> #in
阅读全文
摘要:#include using namespace std; struct node { int w, lc, rc, h; }t[M]; int merge(int A, int B) { if(!A) return B; if(!B) return A; if(t[A].w < t[B].w) swap(A, B); t[A...
阅读全文
摘要:“Tarjan有三种算法 你们知道吗”——Tar乙己 void tarjan(int x) { low[x]=dfn[x]=++ind; q[++top]=x;mark[x]=1; for(int i=last[x];i;i=e[i].next) if(!dfn[e[i].to]) { tarjan
阅读全文
摘要:知名美食家小 A被邀请至ATM 大酒店,为其品评菜肴。 ATM 酒店为小 A 准备了 N 道菜肴,酒店按照为菜肴预估的质量从高到低给予1到N的顺序编号,预估质量最高的菜肴编号为1。 由于菜肴之间口味搭配的问题,某些菜肴必须在另一些菜肴之前制作,具体的,一共有 M 条形如”i 号菜肴'必须'先于 j
阅读全文
摘要:#include #include #include #include #include #include #include #define P pair #define mp(a,b) make_pair(a,b) using namespace std; const int maxn=500100; int first[maxn],to[maxn],next[maxn],cnt,val[ma...
阅读全文
摘要:#include #include #include #include #include #include #include using namespace std; const int maxn=50010; int first[maxn],to[maxn],next[maxn],cnt; inline int read() { int x=0,f=1; char ch=get...
阅读全文
摘要:Do u like 玩♂游♂戏? lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示。当他使用某种装备时,他只能使用该装备的某一个属性。并且每种装备最多只能使用一次。游戏进行到最后,lxhgww遇到了终极boss,这个终极b
阅读全文
摘要:题意: 给定一棵树上的边和点权 改动点权使得每个父节点u容量为子节点容量的d[u](子节点个数)倍 考察点: 1.这是一道语文题 2.点权很大 直接算会爆 有一种优化办法:取log(醉 这是什么优化) 3.确定一个点的权值 整棵树的权值都可以确定 4.由3.可以得到一个脑洞很大的算法:算出每个点不变
阅读全文
摘要:dinic 码着 #include<stdio.h> #include<string.h> #include<iostream> using namespace std; const int inf=0x7fffffff; const int N=100000; int head[N]; int l
阅读全文
摘要:单调栈 正着插一遍反着插一遍 记录每个点左边右边第一个比他高的。。。 yyc太强辣 #include<iostream> #include<cstdlib> #include<algorithm> #include<cstdio> #include<cmath> #include<cstring>
阅读全文
摘要:给出一个N个点的树,找出一个点来,以这个点为根的树时,所有点的深度之和最大 n<=1000000 发现当根从某个位置移到它的一个子树时只要O1的时间就可以果断得出ans 所以大概就一个dfs完事 #include<iostream> #include<cstdlib> #include<algori
阅读全文
摘要:给定一个n个点m条边的图,每条边有黑白两色,求出恰好含need条白边的最小生成树 最小生成树。。。仿佛并没有什么dp的做法 大概还是个kruskal的板子再加点什么东西 考虑到“恰好含need条白边”我们可以用一点小技巧让kruskal“少选白边”或者“多选白边” 再看一眼数据范围 E<=100 好
阅读全文
摘要:给定一个无向有权图,首先一个最小生成树 MST,从 MST 中选取一个度数大于 1 的点 作为根 K,使每颗子树及该子树到根的边权之和方差最小。输出 K 和最小方差的值。 对于60%的数据:3 ≤ N ≤ 2,000,N-1 ≤ M ≤ 50,000 对于100%的数据:3 ≤ N ≤ 40,000
阅读全文
摘要:GTMD天天爱跑步 #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<vector> using namespace std; const int N=319998,P=300001; int
阅读全文
摘要:#include #include #include #include #include #include using namespace std;int match[maxn],link[maxn][maxn],used[maxn],ans; bool find(int u) { memset(used,0,sizeof(used)); /*for(int i=first[u]...
阅读全文
摘要:#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> using namespace std; int t[250010][26]; in
阅读全文
摘要:卡特兰数 打表 滑稽 #include<iostream> #include<cstdio> #include<algorithm> #include<cstdlib> #include<cmath> #include<cstring> using namespace std; string cat
阅读全文
摘要:背包问题小合集 01背包 完全背包 多重背包混着来 对于01背包:把它想象成最大物品数为1的多重背包 对于完全背包:把它想象成最大物品数为m/w[i]的多重背包 对于多重背包:把它想象成。。。等等这本来就是个多重背包 数据比较水 但是我也写了个倍增优化 #include<iostream> #inc
阅读全文
摘要:多重背包问题 一开始我们的转移方程是 然后我们发现T了 有一个简单的优化 最内层k是从0-c[i]相当于一条链 对于一条链我们很容易想到倍增 然后我们优化: 对于第i个物品,我们把它拆成若干份:取1个 取2个 取4个 取8个 ... 取2^(一大堆)个 取剩下的那么多个 这样可以把最内层循环变成lo
阅读全文
摘要:因为一开始给出的是中序遍历 所以这其实是一道区间dp。。。 dp的同时记一下每个点的儿子就可以完成第二问 #include<iostream> #include<cstdio> using namespace std; int a[32],n,f[32][32],crf[32][32]; long
阅读全文
摘要:dp[i]表示1~i最大效率 记一下前缀和 转移就是f[i]=max(f[i],f[j-1]-sum[j])+sum[i] (i-k<=j<=i) 发现括号里的只与j有关 开一个单调队列维护一下
阅读全文
摘要:惊了呀 Splay Treap 这都什么玩意 两个优先队列搞定 #include <bits/stdc++.h> using namespace std; #define LL long long typedef pair<int,int> pii; const int inf = 0x3f3f3f
阅读全文
摘要:背包问题加强版orz #include<iostream> #include<cstdio> #include<cmath> #include<cstring> using namespace std; long long a[500][500],f[500],n,m,a1[500],b1[500]
阅读全文
摘要:dp[i][j]表示走i分钟疲劳值为j时的最远距离 然后搞一下就好啦 #include <iostream> #include <cstdio> #include <algorithm> #include <cstdlib> #include <cstring> #include <cmath> #
阅读全文
摘要:T1 rob 环形消灭虫子 先想出了一个n^2暴力 然后我们想到 如果从两个连续的点求解 则会出现仅有的两种结果 (因为这两种情况的交是全集) 当时因为Naive求了50次 #include<iostream> #include<cstdio> #include<cmath> #include<cs
阅读全文
摘要:#include<iostream>#include<cstdio>#include<algorithm>#include<cstdlib>using namespace std; int f[100005],x[100005],y[100005]; int find(int x) { return
阅读全文
摘要:#include<iostream> #include<cstdlib> #include<algorithm> #include<cstdio> #include<cmath> #include<cstring> #include<queue> using namespace std; int n
阅读全文
摘要:#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> using namespace std; const int MAXN=10010;
阅读全文
摘要:bzoj1826bzoj1528 Jasio 是一个三岁的小男孩,他最喜欢玩玩具了,他有n 个不同的玩具,它们都被放在了很高的架子上所以Jasio 拿不到它们. 为了让他的房间有足够的空间,在任何时刻地板上都不会有超过k 个玩具. Jasio 在地板上玩玩具. Jasio’的妈妈则在房间里陪他的儿子
阅读全文
摘要:小Q是一个非常聪明的孩子,除了国际象棋,他还很喜欢玩一个电脑益智游戏——矩阵游戏。矩阵游戏在一个N *N黑白方阵进行(如同国际象棋一般,只是颜色是随意的)。每次可以对该矩阵进行两种操作:行交换操作:选择 矩阵的任意两行,交换这两行(即交换对应格子的颜色)列交换操作:选择矩阵的任意行列,交换这两列(即
阅读全文
摘要:模拟乱搞 要说算法的话...乱搞算法? #include<iostream> #include<cstring> #include<algorithm> #include<cstdio> #include<cstdlib> using namespace std; const int N=1005;
阅读全文
摘要:高精度练习题 根据什么什么基尔霍夫矩阵 反正就是高精度练习 #include<iostream> #include<cstdio> using namespace std; struct data{ int a[101],len; }; int n; data mul(data a,int k) {
阅读全文
摘要:最大流裸题? #include<iostream> #include<cstring> #include<cstdio> using namespace std; int n,m; int ne; struct data{int to,next,v;}e[6000001]; int head[100
阅读全文
摘要:一看今天的题 T1 bzoj1528 T2 poj2948 T3poj2828 做你******************************************************** 本来想打开电脑上的希尔薇 然后看T3 这他喵的不是线段树吗 然后毅然拿出了自己祖传的ZKW线段树 #i
阅读全文
摘要:T1 poj2029 90分:二维前缀和 100分:二维树状数组维护二维前缀和(这叫什么满分算法啊喂) 反正瞎搞搞30minAC T2poj3250 高一轩同学出这道题的时候竟然把我当成了素材 真鸡儿刺激 把问题转化一下 题目问:“每个人能看到的人的总数”我们把它转换成“每个人能被看到的次数的总数”
阅读全文

浙公网安备 33010602011771号