自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Monster__Yi的博客

当你想要颓废的那一刻,想一想当初为什么走到了这里。

  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 POJ1275 Cashier Employment

题意:给定一个公司24小时每个小时需要的员工数量ri,有n(0 分析:这是一道差分约束的题,我们用f(i)来表示前i个小时任用的总员工数量,不难得出f(i) - f(i-1) >= 0,然后我们用t(i)来表示所有人中从i时刻开始工作的员工的数量,则不难得出第二个不等式f(i) - f(i-1) = -t(i).考虑每个小时的需求,

2016-03-30 23:42:31 658 2

原创 BZOJ1932 [Shoi2007]Setstack 集合堆栈机

题意:模拟一个集合堆栈机,初始化为空,有5种指令:PUSH:把一个空集压入栈。DUP:复制栈顶,入栈。UNION:取出栈顶前两个,把它们的并集入栈。INTERSECT:取出栈顶前两个,把它们的交集入栈。ADD:取栈顶为S,再取栈顶为T,把T∪{S}入栈。一共n(0 时间限制:1000ms总通过时间:1336ms分析:首先整个题目就是一个栈,我们先开个栈,之后我们

2016-03-26 16:35:16 844 2

原创 [CTSC2007] 数据备份Backup

题意:给定n(2 时间限制:10000ms通过时间:568ms分析:我看到这题第一反应是dp,设f(i, j)表示前i个点,选j对,距离之和的最小值。不难列出状态转移方程:f(i, j) = min(f(i-1, j), f(i-2, j-1) + a[i] - a[i-1]).这样时空复杂度都是O(nk),空间开不下,观察到j只依赖j-1,所以可以滚动数组,提交后不幸发现

2016-03-24 21:30:40 1196 2

原创 [NOIp2013] 货车运输

题目大意:给一个n(0 分析:因为要求所有路径上最小边的最大值,所以先求一遍最大生成树,通过最大生成树的边求得的路径一定是最大的,求的过程中用邻接表建图,之后对于每个询问x, y,用st-lca求x, y的最近公共祖先(LCA),求的过程中对经过的路程取min.那么,这里介绍一下st-lca算法:用dep[i]表示结点i的深度,f[i][j]表示结点i的2^j祖先,minv[i

2016-03-21 21:10:05 1199 2

原创 51NOD1515 明辨是非

题意:给n组操作,每组操作形式为x y p。当p为1时,如果第x变量和第y个变量可以相等,则输出YES,并限制他们相等;否则输出NO,并忽略此次操作。当p为0时,如果第x变量和第y个变量可以不相等,则输出YES,并限制他们不相等 ;否则输出NO,并忽略此次操作。n 时间限制:1000ms最长通过时间:765ms感谢zrt神犇的指点。分析:并查

2016-03-16 23:53:31 1240 1

原创 POJ1182 食物链

题意:给出k个关于同类和捕食的关系,判断有几句话是假话。假话满足以下3条之一:1.与前面真话矛盾。2.给的两个类比n大。3.同类吃同类。分析:并查集。可以使用偏移量维护并查集,这里使用另一种方法,把f数组开大成3倍,每个动物有三个元素i, i+n, i+n*2,如果x和y是同类,合并x, y和x+n, y+n和x+n*2, y+n*2,如果x吃y,合并x, y+n和x+n,

2016-03-16 19:49:17 389 2

原创 POJ3468 A Simple Problem with Integers

题目大意:线段树区间加减,区间求和。时间限制:5000ms进行了位运算和输入优化,用时1469ms分析:build函数是建树,边界时把数据输到add数组里,add数组也就是常说的lazy标记,再把add的值赋给sum,建树完毕。用sum[o]表示“如果只执行结点o及其子孙结点中的add操作,结点o对应区间中的所有数之和”,这样可以方便维护。在执行update操作时,递归

2016-03-14 21:17:00 649 1

原创 UVA1152 4 Values whose Sum is 0

题目大意:给定4个n(1 时间限制:9000ms分析:最容易想到的是四重循环枚举a, b, c, d,看看加起来是否是0,时间复杂度O(n^4),超时。这时我们采用一种叫做“中途相遇法”的算法,先枚举a, b,把所有a+b的值记录下来,然后枚举c, d,查一查-c-d有多少种方法写成a+b的形式,总时间复杂度O(n^2logn)那么,问题就是如何记录呢?不难想到STL里有个东西

2016-03-13 19:19:14 739 1

原创 POJ2676 Sudoku

第一篇博客送给数独吧~题目大意就是填数独(如同废话)没有进行搜索顺序剪枝,532ms过的...分析:用二进制来存储可以填的数,用a[i]表示i行可以填的数,b[i]表示i列可以填的数,c[i][j]表示第i行j列的九宫格可以填的数。当准备填一个数的时候,把它所在的行、列、九宫格做“与”运算,用lowbit()得到它能填的所有数。接下来就是每次递归失败后把a, b, c和num数

2016-03-13 12:15:03 505 2

对拍程序示例代码

对拍是考试时的一个辅助工具,写好数据生成器后把暴力和写的正解拿来拍的工具

2018-11-04

空空如也

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

TA关注的人

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