自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sakai_Masato的博客

雅人叔好帅啊!

  • 博客(8)
  • 收藏
  • 关注

原创 [5-28,5-29]考试总结

day1T1 需要考虑的地方:给定一个字符串,再给定另一个串,只有小写字母,如何在线性时间内匹配出一个子序列等于所给定的第二个串。 做法:设dp[i][k]表示在第一个串中,从i开始下一个k字符的位置,先预处理dp,按着这个指针直接跳即可。 T2 需要考虑的地方:如何求出一个序列的最长上升子序列必须用到的数。 做法:处理出d[i]数组,即以i结尾的最长上升子序列长度,把长度等于ans的加入

2016-05-29 19:29:32 427

原创 Codeforces Round#333 div.1 E A Museum Robbery

题目大意:要你动态维护一个0-1背包问题(可以离线)。 首先预处理出每个背包所能影响的询问区间,然后区间插入询问的线段树中,注意线段树是分治的询问。 然后遍历线段树的每一个节点,遍历的过程中就只有加背包了,直接维护dp数组即可。 复杂度大概是O(nklogn)这个级别的。 这种算法之所以比暴力优,是因为一个背包会影响多个询问,而暴力每次都要重新考虑。 这种考虑的方式貌似可以适应很多问题,我

2016-05-27 21:23:16 816

原创 Codeforces Round#333 div.1 D Acyclic Organic Compounds

题目大意是给你一棵还没有合并的trie树,要你合并它,然后统计一些傻逼信息。 本题需要一种线性时间复杂度的合并算法,这里直接给代码片了。#include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> #include<iostream> #include<cassert> #include<map> #include

2016-05-26 22:04:11 624

原创 [5-21,5-22]考试总结

一、要注意一次操作是+或-1的题,然后可以把时间看作一维,把值看作一维,就变成了平面上的到达问题,可以用组合数解决。至于有限制也可以把不合法的所有方案通过对称唯一映射到另外一个同样的问题上面去,减去即可。 二、自己若是想到了一个算法,应该自信的去验证,不要动不动就自我否定掉,本来有一题是考虑过正解的,乍一想好像不对,就弃了。 三、关于最长上升子序列的问题,往往可以用nlogn方法的那个数组思考或

2016-05-22 21:53:59 369

原创 [5-14,5-15]NOIP模拟考试总结

day1 T1,线段树被卡常了,用别的算法可以过,但是正解是线性的,运用了逆向思维,区间修改用差分转化成了单点修改,然后还使用了扫描线。扫描线常常和全局达到某一状态结合,即扫描的每个元素达到了某个状态那么就是全局达到某个状态。然而直接操作然后判断复杂度要多一个判断,扫描线就只有线性了。 T2,容斥原理,我没有想出暴力dp以及n2n^2的可重边的dp,一开始问题就想错了方向,以为是背包。dp设状态

2016-05-16 22:14:28 430

原创 [BZOJ1005][HNOI2008]明明的烦恼

这一道题属于树的计数问题,我所知道的有三种方式处理这类问题,dp,基尔霍夫矩阵还有purfer编码。 这一题跟度数有关那么就用purfer编码啦。 purfer编码和树是一一对应的,如何把一棵树转化成编码。首先把树的度数为1的编号最小的点所连向的点放到编码的第一个,然后删除这个度为1的点,一直这样搞直到树的点数小于2为止。 一颗n的树的purfer编码只有n-2个数。 如何从purfer编码

2016-05-09 21:50:10 605

原创 [BZOJ1003][ZJOI2006]货物运输

SPFA处理出i天到j天路线不变的最小值,设f[i]表示1到i天的最小值,枚举改变路线的那一天转移即可。#include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> #include<iostream> #include<cassert> #include<map> #include<climits> #includ

2016-05-04 22:02:26 488

原创 [APIO2015]Bali Sculptures

看到这种求位运算的问题一定要想直接对答案贪心啊,从高位枚举到低位,设当前的位为pos,pos之前贪心得到的答案为ans。 现在的问题就是能否找到一种方案,使得pos这一位为0,而且满足这种方案算出来的答案的前若干位与ans相同。 考虑设f[i][j]表示前i个数,分j份能否满足条件,0为满足,若存在一个k使得f[k][j−1]==0,(s[i]−s[k])and(1<<pos)==0,(((an

2016-05-02 20:28:08 715 1

空空如也

空空如也

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

TA关注的人

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