自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【BZOJ1026】数位DP

dp[i][j]表示i位数,首位为j的符合要求的数有多少个,嗯和不要62那道题的思路差不多。处理n的时候,因为它要求没有前导0,这个我想了好久,如果再开一维状态记录它前面有没有非0数的话我不是很会写。所以我们先把比n位数小的,比如说1~9中符合要求的,加在答案里,然后是10~99,100~999,这样。然后再把n那个位数级别的,直到n那一位上数的上一个,加到答案中。这些循环都是从1开始的,避免了前导

2017-03-30 10:48:26 260

原创 【HDU2089】数位DP

看了这篇题解,写得超级棒。dp[i][j]表示一共i位,首位为j的数有多少是符合要求的。 用一个k记录上一位。 先把这个数组全都预处理出来,我一开始位数是从0到LEN,但是预处理的时候不是很方便,就换成从1开始了。然后处理比n小的数有多少符合要求的。 先把n每位拆开存在d数组里,要注意它是从低位开始存的,但是后面我们是从高位往低位扫,所以是它的上一位是6要写成d[i + 1] == 6,我这里

2017-03-29 19:27:13 477

原创 2017.3.38打卡 距省选10天

嗯,又是一篇以嗯开头的牢骚。之前去clyz集训,刚回来。大家都好强啊,我根本不能和他们比,说好的好好打暴力也还是弃疗和颓废的时候比较多。回来第二天就来了学校,班里的同学都超欢迎我,我一进门他们还鼓掌庆祝我回来了(:з」∠) 感觉我配不上他们的期望。 回教室上数理化生,其他时间在机房,我一个人一整个机房哦嚯嚯嚯。 今天生物和语文换课了,我错过了一节生物,我还补了生物作业呢qnq你说这省选的节骨眼

2017-03-28 19:42:11 354

原创 【BZOJ1857】三分套三分

看了这位dalao的题解之后写的。三分他离开线段AB和CD的位置。设他在E点离开线段AB最优,可以想象在E点两边离开都不如在E点离开优,所以它是一个单峰的函数,可以用三分求最小值(对这里时间最短是最小值)。我们在查找每一个可能的E点的时候在CD上三分一个F点。因为这道题嗯数据很小,所以复杂度高也是可以接受的。#include <cstdio> #include <algorithm> #includ

2017-03-25 18:03:36 427

原创 【POJ3273】二分

题意是n个数,分成m段,所有段的最大值最小,求那个最大值。二分那个最大值x,然后把n个数相当于往上界为x的袋子里装,看需要装几个袋子,是不是比要求的m大。#include <cstdio> #include <algorithm> #include <climits>const int MAXN = 1e5 + 5;int sum, a[MAXN]; int n, m;bool check(int

2017-03-21 13:09:14 341 1

原创 【POJ1064】二分

嗯,二分的题,我是看了Titanium的题解之后做的。二分长度,我一开始是把最短的那一个的长度当做上界,1为下界来二分的,而且还是用总长度直接除二分的值来和k比较【对,我就是傻】然后样例输出2.31,我就急了,它有的可以不全都取,而且还不能长于它,这怎么分啊?认真阅读了一下题解之后,发现上界要设成最长的那个的长度,因为有的太短但是我们可以不选它(k较小)从而得到更优的解。而且是用每一个的长度除二分的

2017-03-19 23:44:35 254

原创 【codevs1380】树形dp

#include <cstdio> #include <algorithm> using namespace std;const int MAXN = 6000 + 5;int n; int dp[MAXN][2];struct Node { struct Edge *lastE; int v; int num; int fa; } N[MAXN];struct Ed

2017-03-10 20:48:34 227

原创 【冒泡排序】树状数组 & 结论

题意是给你一个序列,通过某种规律生成,没有什么特别的规律【大概吧】,让你求经过多少轮冒泡排序它可以变成从小到大有序的。按题意打暴力是30分,它还有个很妙的70分做法,用树状数组。求每个数左边有多少个比它大的数,左边比它大的数最多的那个个数就是需要冒泡排序的轮数。#include <cstdio> #include <iostream> #include <algorithm> using names

2017-03-03 15:49:49 475

空空如也

空空如也

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

TA关注的人

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