- 博客(28)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 POJ 3181 Dollar Dayz
代码:#include#include#include#include#include#include#include#include#include#include#includeusing namespace std ;#define lld __int64const double PI = 3.1415926 ;const double esp = 1e-7
2014-04-23 15:57:57 2312
原创 HDU 2653 Waiting ten thousand years for Love
题目链接~~>做题感悟:这题有点失败,没考虑到必须用三维标记,开始感觉用二维就可以的,但是后来看到别人用三维才考虑到这样有的点就遍历不到。解题思路:BFS + 优先队列 :如果一个格子是 @
2014-04-09 16:37:02 5144
原创 HDU 2227 Find the nondecreasing subsequences
题目链接~~>做题感悟:开始想到用 2^n 这样来求子序列但是这样会多算很多(因为你不知道前面比它小的数的顺序是怎样的),很纠结看解题报告+自己理解用了一个晚上。解题思路:注意:这题如果出现 1 1 1 结果也是 7,并不是 3 。这题需要用到DP 的思想,假设dp[ i ] 为 i 时a[i] 所形成的不递减子序列,那么dp[ i ] = sum ( dp[ j ] ) +1 (
2014-04-04 21:29:05 2367
原创 HDU 2838 Cow Sorting
题目链接~~>做题感悟:开始做时感觉很难,顿时有种百度的想法不过还是坚持了下来.解题思路:和求逆序数差不多这题是求和。可以开两个数组一个用于记录比当前数小的个数,以记录已经出现的比当前数小的和。这样 best = sum (出现的所有数的和) - 比它小的数的和 + ( 前面所有数的个数 - 比当前数小的个数 ) * 当前数的值 . sum - 比它小的数的和 即:前面比它大的数的和
2014-04-04 09:12:21 2259
原创 POJ 2155 Matrix ( 二维树状数组 ) || HDU 3584 Cube ( 三维树状数组 )
题目链接~~>做题感悟:这题只要把一维的树状数组扩展到二维就可以了。解题思路:树状数组插线问点:先简化一下,如果是一维的树状数组的插线问点让区间 [ a,b ] 同时加 x ,可以先让 [ 1,b ] + 1 ,再让 [ 1 ,a-1 ] -1 ,跟前缀和一样这样区间 [ a,b ] 就实现了 +1 ,但这时数组 c [ ] 代表是它管辖范围内每个点的值为 c [ ] ( 此时c 数组
2014-04-03 18:21:08 2273
原创 HDU 2642 stars ||HDU 1892 See you~
题目链接~~>做题感悟:这题在做之前就听说是二维树状数组下了一跳,读了一下题真有点难,本想问度娘强忍了一下想了一会就AC。解题思路:其实这题就看成多个一维树状数组,查询的时候从 x ~ x1 依次查询 y~y1 把和加起来就可以了。一个星如果已经点亮就不需要再点亮,如果没点亮就不能让它变暗。代码:#include#include#include#include#inclu
2014-04-02 15:53:50 2137
原创 HDU 1541 Stars || POJ 2352 stars || NYOJ 117 求逆序数
题目链接~~>做题感悟:其实都是求逆序数,但是NYOJ 数特别大,需要离散化一下。解题思路:HDU || POJ 上的 stars 求左下角有多少个星星,因为是按 y 值递增排好序的,so 只要找在那颗星前面且 x 坐标小于当前 x 坐标的就可以了。查找时向下查找,更新时向上更新。NYOJ 那题因为数特别大,需要离散化一下(切记排序时要稳定排序),只要用下表减去查找到有几个比它小的就好。
2014-04-01 20:57:32 2098
原创 POJ 2689 Prime Distance
题目链接~~>做题感悟:这题是在学习了区间筛法后才做的,学习了区间筛素数后,这题真 so easy !解题思路:可以用两次筛法,也可以直接用区间平移。代码:#include#include#include#include#include#include#include#include#include#include#includeusing namespace
2014-04-01 16:08:16 2155
原创 BOJ 4228 哈哈哈
题目链接~~>做题感悟:这题一看就知道要用状态压缩,本题和HDU 1429 胜利大逃亡(续)差不多。解题思路:你可以把宝物压缩为二进制,例如:01001 代表你已经拿过 1 号和 4 号宝物了 0 代表相应的宝物没拿。用同样的方法把拿某个物品的前提条件也映射成二进制。假如你现在遇到 3 号宝物,如果3号宝物的前提条件是拿到 1 号 和 4 号宝物才能拿 3 号,那么前提条件可以用二进制表示
2014-04-01 16:05:46 2174
Alien 源码包,软件包转换器
2023-01-08
爱心源码,C++实现,内附运行图片
2022-12-25
元旦倒计时代码,模拟时间变化(内附运行图)
2022-12-24
圣诞树源码(源码+解析+效果图+直接运行)
2022-12-11
面向过程 VS 面向对象的区别
2021-07-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人