自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 集训题解-Day3

集训题解-Day3

2017-09-11 19:38:38 463

原创 集训题解-Day2

集训题解-Day2A

2017-09-10 23:25:27 411

原创 集训题解-Day1

Day1题解

2017-09-10 16:00:11 453

原创 USACO月赛题解整理-集训Day2

1.★☆☆☆☆ 酸奶工厂Yogurt factory, 2005 Mar 加上维护费用,计算出实际成本然后贪心。 本题要注意long longconst int maxn = 10010;ll c[maxn], a[maxn], d, n;int main(){ scanf("%lld%lld", &n, &d); rep(i, n) scanf("%lld%lld", &

2016-07-15 09:35:11 1520

原创 CCCC练习题的题解-给新人看的

我分到的是模4余0和余1的题目先上公共头文件#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define rep(i,n) for(int i=0;i<(n)

2016-07-12 10:04:37 13895

原创 某校寒假作业题解

寒假尾声组队做了点其他学校的寒假作业题,水题居多。发下我做的一些题的题解,太简单的就不贴题面了C - EdgeDescriptionFor products that are wrapped in small packings it is necessary that the sheet of paper containing the direction

2016-02-18 09:38:29 1242

原创 USACO月赛题解 第四讲 贪心

汇总见 http://blog.csdn.net/qyl916/article/details/12442283这一部分的题目也很经典,虽然是一次排序解决问题,但有难度第15题 奶牛杂技 acrobat这种题基本上要按某种关键字排序,所以考虑相邻两头牛,他们上面的牛重量加起来是w0,若A在B上面,A受到压力为w0 - sA B受到压力为 w0 + wA - Sb

2014-02-06 12:59:05 744

原创 USACO月赛题解 第三讲 排序

汇总见 http://blog.csdn.net/qyl916/article/details/12442283这一部分的题目也很经典第10题 重排干草 Restack这种题要么0分要么满分,和《训练指南》的第一章例3几乎一样,通过代数分析将题目转化最后变成求中位数的题目,O(n)还是O(nlogn)随意~//BZOJ里出现了两道和这题几乎一样的题目/*错

2014-02-01 17:00:20 992

原创 USACO月赛题解 第三十讲 动态规划(一)

这五个DP题还是很不错的第6题,方形牛棚 bigbrn很经典的题目了,没有看题解,自己想了个解法首先m较小的话可以参考另一篇博客,把点看成边界来做这道题DP比较好一些d[i][j]=min(d[i-1][j-1]+1,min( lft[i][j],up[i][j] ) );lft和up分别表示左方和上方的空间,都能在平方级时间算出d[i][j]表示以

2014-02-01 14:09:57 1019

原创 USACO月赛题解 第四讲 数值计算

感觉这部分USACO的题型和OI题还是不大一样的,做下来意思不大第3题,丑数 Humble这题还是很经典的,Training里也有。有两个朴素想法,一个是造一堆数然后排序,另一个是已知前K个数推出第K+1个数的方法,第K+1个数由前K个数中的一个乘上一个素数得到,这么做是平方级的,已经接近答案了。这种方法可以优化,另p[i]为第i个素数乘到了第几个丑数”,因为每个素数乘的丑

2014-02-01 13:56:59 813

原创 二分图匹配总结

二分图算是一个挺神奇的东西,有些不可解的问题到二分图就可解了。匈牙利算法二分图的最大匹配可以通过最大流来解,建模并不难,但匈牙利算法无论时间空间代码量都更好一些。匈牙利算法的流程就不多说了。个人觉得《挑战程序设计竞赛》的范例比较清晰易懂而且很短,不懂的话自己模拟运行两次就可以了。附上我修改过的版本vector g[maxn];int match[1010010

2014-01-29 17:42:52 670

原创 SHTSC记 14.01.04

早上一来听到老师在谈入门:“一般人写50到题目就有感觉了,聪明点的30道,笨蛋70道也会了。”今天内容就是讲题T59 奶牛观光这题我做过,就说了下二分+判负环的做法老师:“你们KJ怎么时不时冒出一两个很厉害的”我:“现在都没人学了。。”T62 电子游戏法1:设f[i][v]前i个平台预算为v时最大收益G[i][v] 第i个平台预算为v时最大收益kv^2超时。

2014-01-04 14:14:29 720

原创 SHTSC记 13.12.28

上周因老师不在停课一次今天来了几个新同学,导致老师讲得比较认真。。记了这么些笔记图的DFS桥割点 双连通分量 强连通分量树上所有边都是桥环上都不是桥不在环中都是桥枚举环巨慢枚举边太慢树边一定n – 1条和反向边 (剩下的点)桥只可能是树边,推出一个图最多n – 1个桥定义low函数 ,u及u的子孙,通过一条回边,能回到的最小祖先的序号桥的条件 v

2013-12-28 13:05:02 515

原创 SHTSC记 13.12.14

NOIP的所有分数线终于出来了余爷爷终于认识我了。。好感动。。早上一来就跟我说了我问他的分数线 PJ1=180 TG2=200然后老师来讲题了讲了这么些题给定n个数,要求找三个数拼成一个三角形,使得周长最大然后叫我讲我:先把暴力写好 (弱爆了)我:可以枚举两条边 (弱爆了)马融: 你们都弱爆了正解只需排序即可接下来

2013-12-15 11:25:38 556

原创 SHTSC记 13.12.07

今天讲了RMQ 和 LCA首先是RMQnlogn的预处理,O(1)的查询,线性预处理没讲,一般用不着然后是LCA讲了两种,二分查找(lognlogn) 和类似RMQ的 logn然后就随便讲讲例题,大致讲了这么些题目NOIP D1T3 poj 3723poj 2763环区间图最大独立集(挑战4.4.3)bzoj 2621 巨型背包问题

2013-12-07 13:17:01 619

原创 SHTSC记 13.11.30

今天讲两个高级数据结构首先是一个例子有数列1,2,3...n,要求支持两种操作1、删除一个数2、查询排名为k的数一看这不是典型名次树吗,去年发牌考过随后得知这个数据结构是BIT,感觉很神查询和名次树很像,删除就是BIT标准写法。这么做常数和代码量都很小然后是线段树讲了个很经典的问题,区间修改,区间查询

2013-11-30 13:14:41 541

原创 SHTSC记 13.11.23

上海的大神似乎NOIP都有失误,想我这种D2T1只能拿10分的弱都能rank12..全班只有一个400+?不过个人感觉400+其实不难拿,只是各种失误而已。也不排除其他人隐瞒不说自己400+ //当然这时yzq大神还没出现今天讲图马融真心不喜欢讲基础知识。。很多东西都跳过了。生成树一般kruskal就可以了,Prim偶尔用用最短路

2013-11-23 20:45:19 751

原创 SHTSC记 13.11.16

因为期中考试和NOIP,听课两周貌似有些人和我一样,考失误了。不过马融也喜欢黑人“看你写了那么多的程序,居然10000*10000的数组都开的出来”今天讲树首先是基础知识分成三种。存儿子、存父亲和兄弟-儿子表示法所谓的兄弟-儿子表示法,就是边表题目中输入父亲和儿子,如何存边表以及无根树转有根树

2013-11-16 18:50:27 911

原创 SHTSC记 13.10.26

本次是NOIP前的最后一次课程老师居然不知道这个消息,我也不解,期中考试前就不上课了?考虑之后老师还是决定讲原来的内容-堆和并查集堆首先是基本概念,也就是用P怎么来写插曲:完全二叉树的翻译有问题,因为英文是complete 而满的二叉树又被称为满二叉树,所以称紧致二叉树较为合适然后举例子合并果子(不过这道题还有更快的做法-单调队列)给一张图,

2013-10-26 18:01:52 628

原创 SHTSC记 13.10.19

上次的答案来不及写了这次讲的是基础数据结构、单调队列和哈希栈的应用-表达式计算中缀表达式转后缀表达式3+4*5-6-7 -> 3 4 5 * + 7 -计算后缀表达式队列的应用-BFS-迷宫问题有一个方阵,你的目标是逃出去,方阵有若干不能通过的地方,求最短时间。只讲了个思路,没有规范题目单调队列银行排队问题要求支持操作:ins

2013-10-19 14:50:27 700

原创 USACO大量月赛题题解

为了准备NOIP,开始刷USACO了搞来一本题典,100题不到,希望能把NOIP考点的相关题目都搞定按照我的情况,简单题就不发了,容易上当的和难题会发上来

2013-10-15 22:00:34 8000 1

原创 SHTSC记 13.10.06

首先还是上次课的答案例1 设d(i,j)为从i到j的答案,所求即为d(0,n-1)转移是这样的i>=j 0s[i]==s[j] 则为d(i+1,j-1)s[i]!=s[j] min(d(i,j-1),d(i+1,j))+1这题基本属于会的秒杀,不会的肯定做不出例2 T37设f(i,j)为这个区间先手拿的最大值,所求即为f(1,n)f(i,j)=max(a[i

2013-10-13 11:53:02 633

原创 学习笔记 Treap

学习Treap之前先学的Splay,然后发现Treap真是太简单了,Greatwall1995神犇的意见要听啊BST的缺陷是因为人为搞单调数据才爆的,随机数据还是logn的时间,Treap的思想也基于此,给每个添加的点赋一个随机优先值,然后整个树关于优先值是一个堆。CLRS上要求读者证明插入节点后期望的旋转次数小于2,看到之后就吓呆了接下来是具体实现,lrj的代码实在是太漂亮了,忍不住

2013-10-13 09:32:49 560

原创 UVa 11992

典型线段树,由于是初学,写错了很多很多东西#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define REP(i,n) for(int i=0;i<(n);

2013-10-03 19:32:00 417

原创 学习笔记 线段树

在学习线段树之前,学了BIT和RMQ问题,这两个问题都有他们的方法,而用线段树则能全部搞定,代价是常数和容易写错BIT就不多说了,RMQ很神奇,因为它和LCA的解法神似,都是采用倍增。线段树的核心思想是分治,要注意的是要满足最优子结构的性质,(比如求第二大值就比较麻烦了)第一类问题 点的修改 区间查询这个比较简单,初学的时候觉得很神奇的就是要把查询区间设成全局变量,

2013-10-03 19:23:54 585

原创 UVa 11806

容斥原理,书上的办法很巧妙,我这里代码比较难看,注意的是在mod之前要保证里面的数是正的#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define REP(i,

2013-10-01 13:27:09 502

原创 UVa 10892

本题我找了下规律然后就结束了#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define REP(i,n) for(int i=0;i<(n);i++)#def

2013-10-01 13:24:49 467

原创 SHTSC记 13.9.21

首先是上次课的答案Fib数列 的两道题显然都是Fib啊组合数 求路径条数 当然可以递推,而一个绝妙的方法是 将一条路径看成是两种箭头的组合,答案直接C(m+n,n)结束,而这个方法的适用性不强3.1 经典的结论了,设答案为f(n),则f(n)=f(n-1)+1+f(n-1) f(1)=1  通项式显然是2^n -13.2 也不难, 先把上面n-2个盘子移开,然后移动

2013-09-22 20:31:46 590

原创 USACO Cowtour

/* ID: 13917981 PROG: cowtour LANG: C++*/#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define REP(i,

2013-09-17 18:39:38 425

原创 bzoj 1600

先写好暴力用来对拍由于本题求的是排列个数,所以我采用的是解方程的办法先设出最大的一条边,解另三条边和等于剩下长度的方法数,转化成了经典问题但这样会有问题:算完之后该乘以几?最大边不和另三条边重复的话乘4,重复的话会麻烦所以用相减的办法先求出4个元素加起来是规定长度的方法数,再减去最大边暴大的方法数即可,减的时候能保证乘4#include #include #in

2013-09-14 21:43:12 877

原创 NOIP 2011 选择客栈

最近学的高校算法设计起到了用场,第一次用对拍来确保正确性首先写好暴力本题我的解法是扫描left[x]为当前位置左边颜色k的个数right[x]当前位置右边k的个数读入时计算right数组从第一个客栈开始扫描把这个客栈当成中间点,然后对每种颜色计算left[i]*right[i],顺便维护left和right解决了?NO有一个很大的问题:会有很多重复,两个隔很远的

2013-09-14 21:33:54 1177

原创 UVa 11401

题目不难,书上用的是递推,我这里通过解递推式直接出结果 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define REP(i,n) for(int i=0

2013-09-14 20:42:52 517

原创 UVa 11889

发这题只有一个目的:提醒自己把lcm的表达式位置写对 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define REP(i,n) for(int i=0;

2013-09-14 20:07:19 615

原创 UVa 11609

先找规律,然后猜结果,AC。。后来看了题解,证明忘了,自己给了个证明,不是很巧妙所求为  和式 k*c(n,k)  k为[1,n]它等于了 和式 c(n,k)*(n-k) k为[0,n-1]两式相加 变成了 和式 c(n,k)*k k为[1,n-1] +c(n,n)*n+c(n,0)*n即 n*∑ c(n,k) k为[0,n]组合的意义是从n个数中选k个所以上式为n*2

2013-09-14 19:59:35 597

原创 SHTSC记 13.9.14

今天是第一次的SHTSC的课程到了上课时间只有10个不到的同学来了,心中一阵窃喜,余老师介绍了下课程和OI的情况,顺便出售12年的年鉴NOIP据说一等的话部分高校会看重,肯定能考自招,面试有很大优势   //基本属于预测,因为这是从今年才开始的NOI前50名保送,前100签PKU/THU 前200 FDU/STJU 还是很有吸引力的这个学期主要是NOIP方面的,难度在第二题之上

2013-09-14 15:26:13 825

原创 BZOJ 1699

标准RMQ,第一次写贴下代码,加入了IO优化#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define REP(i,n) for(int i=0;i<(n);i

2013-09-07 15:42:03 534

原创 UVa 11489

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define REP(i,n) for(int i=0;i<(n);i++)#define REP1(i,n) fo

2013-09-07 15:39:48 781

原创 BZOJ 1609

样例敢不敢再坑一点??居然样例把解法给透露了!求LIS和LDS#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define REP(i,n) for(in

2013-09-07 15:38:56 720

原创 BZOJ 1588

本题没有难度,但由于是我A的第一道省选题,所以开始写一下本题实质是要求写一个数据结构,支持插入 和前一项 后一项操作 用set不知道为什么不行(指针不能+1),BST会超时。所以用Splay写好发现BZOJ 是AC了 但从每个数据点看 有数据点是TLE的发现是写splay的时候插入之后忘了把它转上去了。。。 (那为什么BST会超时!?)代码就不贴了

2013-09-07 15:38:32 677

原创 USACO maze1

放在最短路这一章有一点坑人第一个想法:Dijkstra发现是无向图然后想:拓扑排序发现是无权图无向无权图的SP应该用BFS即可解决/* ID: 13917981 PROG: maze1 LANG: C++*/#include #include #include #include #include #include #include #incl

2013-09-07 15:33:38 795

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除