水
EMber _
人但有追求,世界亦会让路。
展开
-
51nod 四级算法 4/74 P1051 最大子矩阵
题意我就不说了,看题面吧。 思想还是很简单的枚举左右然后就变成了最大子序列的和,O(n^3)。 我只想说:注意n m顺序顺。。。。。序uses math;var p,n,m,l,r,len:int64; i,j,k:longint; x,ans,y:int64; f:array[0..500,0..500]of int64;原创 2016-09-26 22:06:03 · 339 阅读 · 0 评论 -
bzoj3479
分析:裸mst,排序小于号打成大于号导致我AC率下降了1%啊啊!!!!!#include<cstdio>#include<cstring>#include<algorithm>//#include<cmath>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fd(i,a,b) for(int i=a;i>=b;i--)using namesp原创 2017-03-16 15:22:07 · 235 阅读 · 0 评论 -
bzoj1623
分析:直接贪心。。有啥好说的,网上一堆蜜汁用堆的。。#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<queue>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fd(i,a,b) for(int i=a;i>=b;i--)using na原创 2017-03-10 21:37:20 · 254 阅读 · 0 评论 -
bzoj1643
分析:这题其实很水。。但是我一开始想岔了。。因为以前做过一类组合类型的题目,有一个姿势是这样的:x1+x2+..+xk=c,非负解的个数为=C(c+k-1,k-1) 那其实就很明显了。。问题是这只是非负解的个数,怎么算排列还是个问题。。现在一想好像挺好算?但是转换很麻烦。。 正解就是sb dp。。#include<cstdio>#include<algorithm>#include<cstr原创 2017-03-10 21:22:02 · 262 阅读 · 0 评论 -
bzoj1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐
分析:直接k次dfs,设一个cnt[i]表示第i个点被经过的次数,那么明显,cnt[i]=k时这个点是可以的。。#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fd(i,a,b) for(int i=a;i>=b原创 2017-03-08 18:26:28 · 198 阅读 · 0 评论 -
JZOJ3630. 【汕头市选2014】分叉(fork)
Description给出一棵N 个点的树,点的编号是1, 2,。。。,N。对于3 个点{a,b,c},如果不存在一条简单路径同时经过a,b,c,那么{a,b,c}是一个分叉。统计不同分叉的数量。树 无环,连通的无向图简单路径 不重复经过同一个点的路径Input第1 行,1 个整数N。接下来(N -1) 行,每行2 个整数Ai,Bi,表示点Ai 和点Bi 间有一条边。Output1 个整数,表示所求原创 2017-02-25 15:58:16 · 296 阅读 · 0 评论 -
bzoj1610
直接暴力。。#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define N 204#define Max 1000000000#define Sma 0.0000001struct _point{int x,y;}p[N];double line[N*N];int n;double draw原创 2017-03-03 21:36:05 · 238 阅读 · 0 评论 -
bzoj1603
无法想象09年的OI水平#include<cstdio>#include<algorithm>#include<cstring>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fd(i,a,b) for(int i=a;i>=b;i--)using namespace std;const int N=3e3+6;int head[N],ne原创 2017-03-03 21:04:50 · 222 阅读 · 0 评论 -
bzoj1600
水DP不解释,然而我一开始以为递推。。算了如果比赛我早就打表了。#include<cstdio>#include<algorithm>#include<cstring>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fd(i,a,b) for(int i=a;i>=b;i--)using namespace std;const int N=3原创 2017-03-03 20:52:37 · 217 阅读 · 0 评论 -
bzoj1599【Usaco2008 Oct]笨重的石子
什么鬼?直接暴力啊,dp个毛线啊!!#include<cstdio>#include<cstring>#define fo(i,a,b) for(int i=a;i<=b;i++)using namespace std;typedef long long ll;int n,m,k;ll a[1000000];int main(){ scanf("%d%d%d",&n,&m,&原创 2017-03-03 12:43:17 · 249 阅读 · 0 评论 -
bzoj 1149 [CTSC2007]风玲Mobiles dfs
题意:给定一棵完全二叉树,可以交换某个节点的左右儿子,求最少交换多少次可以使所有的叶节点深度相差不超过1,且深度较大的叶节点都在深度较小的叶节点左侧(来自po姐)。题解:其实这题你看懂题目你就赢了。。。直接做。。这应该是CTSC中最水的一道了巴。dfs两遍,随便跑。然而并没有1A,因为空间开小了。。。#include<cstdio>#include<algorithm>#include<cstr原创 2017-02-19 22:23:27 · 288 阅读 · 0 评论 -
HDU 2188 巴什博弈
分析:还是和上一题一样裸。。没有1A,被大小写和换行坑了。。#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#define fo(i,a,b) for(int i=a;i<=b;i++)#define fd(i,a,b) for(int i=a;i>=b;i--)using namespace s原创 2017-04-06 10:03:12 · 221 阅读 · 0 评论