自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

万事屋

一些解题思路和工作中的积累

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

原创 codeforces 128 B. String 优先队列

题意:字典序排序子串,找出子串中的第n大。做法:因为最多让你找第100000大,所以可以用优先队列。先放入单个的。然后不断取出最小的,然后添加一个 其后面的字母,然后再放回队列。 队列里len个串,最多放n次,所以复杂度 log(len)*n。 但是vs2010 的优先队列好像很慢。 另外一题有次也用到优先队列,vs2010跑好几分钟跑不出来的数据,CB可以秒跑。 所以这题不要交vs2010,不然会超时。

2015-08-31 13:08:50 974 1

原创 codeforces 144 D. Missile Silos 最短路

题意:给你一个图。 问图中 有多少点 和起点的最短距离是len。边上的点也算。做法:把点最近距离 算好。然后 边上 分两种情况。if(l1<len&&l2<len&&l1+l2+dis==2*len) ans++;这种情况是,两边到这个点都是最短的。这个点只用计数一次。if(l1<len&&l1+dis>len&&l2+(dis-(len-l1))>len) ans++;if(l2<len&&l2+dis>len&&l1+(dis-(len-l2))>len) ans++;这

2015-08-30 18:45:07 718

原创 codeforces 570 D. Tree Requests 树状数组+dfs搜索序

题意:告诉你一颗树的父子关系,1节点为根,再告诉你每个点上的字母。问 v节点 子树(包括v节点)在第h行的所有节点的字母能否组成回文串。做法:先用dfs 搜索 把所有节点标个左标号和右标号。 这样标号以后,每个节点 用左标号 当自己 新的标号。 然后 子树所有节点 的新标号 肯定在 子树根节点的 左右标号之间。标号之后分层来做。每层 对每个字母分别做统计。把该层所有节点 的 左标号 在树状数组中+1. 然后对于该层的所有询问 做 树状数组统计,(sum(rit[v])-sum(lft[v

2015-08-16 10:53:02 1257

原创 hdu 4870 Rating 高斯消元或者递推

题意:有两个号打cf, 赢的几率是 p ,每次用分数小的打, 赢了+50分,输了扣100分,分数上限2000,下限0.问其中一个号打到2000分的期望。做法:把50分作为一个单位分数。设 dp[i] 为其中 一个号 i分到20分需要打多少盘的期望。dp[i]=dp[i+1]*p+dp[i-2]*(1-p)+1当i小于2的时候 因为不可能有负分数,所以公式为 dp[i]=dp[i+1]*p+dp[0]*(1-p)+1开始两个号 i i 肯定会打到 i+1 i的情况 , 可以认为一直用一

2015-08-10 15:45:15 735

原创 hdu 5355 Cake dfs暴搜 构造

题意:把有n块蛋糕, 大小分别是1-n。 分给m个人, 个数随便,大小和要全相等。做法:其实那两个不合法的情况,做比赛时队友已经发现了。后来按照 最大的 和某一个小的数 凑对,贪心来做。 比赛时Ac了。赛后数据加强 ,这种方法在数据23 6时会有bug。然后根据题解,在数字大于m*4 的时候 从大到小, 蛇形分配。

2015-08-07 19:41:05 766 3

原创 hdu 5358 First One 数学

题意:根据那个公式算出 ans。做法:之前想着 枚举 左端点,再枚举 33个二进制数,再二分右端点来写。 O(33*n *log n) , t掉了。这题卡时间卡得很严,看了题解后 ,发现有O(33*n)的做法。 显示枚举 33个二进制数, 然后取 num[i] num[j] 作为边界 L,R, 再枚举左端点,左端点遍历的时候 根据LR, 找到 右端点的范围l 和r 要求 L<=s(i,l)<=s(i,r)<R , 左端点不断右移,所以 边界l,r 也不断右移 不用回溯,所以是线性的

2015-08-07 15:15:39 851

原创 hdu 5348 MZL's endless loop 暴搜

题意:给n点m条无向边,要给每条边定一个方向,最后图中所有点的出入度差小于等于1.做法:暴搜,注意用完的边要删去,更新下head就可以删边了。 然后 每个dfs 只找一条路径, 找到后就break。

2015-08-05 16:16:06 668

原创 hdu 3473 Minimum Sum 划分树的应用

题意:问l,r区间 取任意整数x , 问 ∑|X-xi| 的最小值做法:很明显 这个X是中位数。 中位数想到划分树,然后在划分树 建树的时候,把进左子树的数计算一个前缀和,然后在查询的时候,如果到右子树,就把区间内进入左子树的数算一个和。最后统计出来的sumlft 就是所有比区间内中位数小的数了。

2015-08-04 09:32:17 658

原创 hdu 2079 选课时间(题目已修改,注意读题) 母函数

突然顿悟了母函数。其实就是模拟来的。第一个东西取几个 的状态 先弄出来,然后接下来就是有新的东西,然后就是新的放一个或者多个 更新进去,然后注意别超过最大值就行了。

2015-08-03 20:17:37 624

空空如也

空空如也

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

TA关注的人

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