• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






Storm_Spirit

不忘初心,方得始终。
 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

08 2016 档案

 
CodeForces 707D Persistent Bookcase ——(巧妙的dfs)
摘要:一个n*m的矩阵,有四种操作: 1.(i,j)处变1; 2.(i,j)处变0; 3.第i行的所有位置1,0反转; 4.回到第k次操作以后的状态; 问每次操作以后整个矩阵里面有多少个1。 其实不好处理的操作只有第四个,但是这题的思路很巧妙,123三种操作全部建立顺边,第四种操作将k和这次操作的序号建边 阅读全文
posted @ 2016-08-26 08:38 Storm_Spirit 阅读(172) 评论(0) 推荐(0)
HDU 5806 NanoApe Loves Sequence Ⅱ ——(尺取法)
摘要:题意:给出一个序列,问能找出多少个连续的子序列,使得这个子序列中第k大的数字不小于m。 分析:这个子序列中只要大于等于m的个数大于等于k个即可。那么,我们可以用尺取法写,代码不难写,但是有些小细节需要注意(见代码注释)。我觉得,《挑战程序设计》里的尺取法的内容需要好好的再回顾一下= =。 代码如下: 阅读全文
posted @ 2016-08-23 21:03 Storm_Spirit 阅读(153) 评论(0) 推荐(0)
HDU 5791 Two ——(LCS变形)
摘要:感觉就是最长公共子序列的一个变形(虽然我也没做过LCS啦= =)。 转移方程见代码吧。这里有一个要说的地方,如果a[i] == a[j]的时候,为什么不需要像不等于的时候那样减去一个dp[i-1][j-1]呢?其实是要减去的,然后我们注意+1是什么呢?这两个位置是相同的,那么这一对组合是1,然后包含 阅读全文
posted @ 2016-08-23 18:11 Storm_Spirit 阅读(236) 评论(0) 推荐(0)
HDU 5810 Balls and Boxes ——(数学,概率,方差)
摘要:官方题解看不太懂,参考了一些人的博客以后自己证明如下: 其中D(X)和E(X)的公式如下(参考自百度百科): 其中 p = 1 / m 。(这是每一个单独事件发生的概率期望,在这里单独事件指的是一个球放到m个盒子里面,放到每个盒子里面的概率都是一样的,所以期望都是1 / m了) 推出了公式以后,代码 阅读全文
posted @ 2016-08-23 14:13 Storm_Spirit 阅读(274) 评论(0) 推荐(0)
HDU 5794 A Simple Chess ——(Lucas + 容斥)
摘要:网上找了很多人的博客,都看不太懂,还是大力学长的方法好。 要说明的一点是,因为是比较大的数字的组合数再加上mod比较小,因此用Lucas定理求组合数。 代码如下(有注释): 阅读全文
posted @ 2016-08-22 20:20 Storm_Spirit 阅读(168) 评论(0) 推荐(0)
HDU 5793 A Boring Question ——(找规律,快速幂 + 求逆元)
摘要:参考博客:http://www.cnblogs.com/Sunshine-tcf/p/5737627.html。 说实话,官方博客的推导公式看不懂。。。只能按照别人一样打表找规律了。。。但是打表以后其实也不是很好看出规律的。。。而且这个表都写了半天233。。。(真是太弱了= =)为了打表,我们应当先 阅读全文
posted @ 2016-08-22 10:12 Storm_Spirit 阅读(144) 评论(0) 推荐(0)
HDU 5813 Elegant Construction ——(拓扑排序,构造)
摘要:可以直接见这个博客:http://blog.csdn.net/black_miracle/article/details/52164974。 对其中的几点作一些解释: 1.这个方法我们对队列中取出的元素,把仍有出度的点连接到这个点时,这个点是不会连接到多余的点的,因为:一个点出队列的时候其他没入队的 阅读全文
posted @ 2016-08-21 21:29 Storm_Spirit 阅读(195) 评论(0) 推荐(0)
HDU 5818 Joint Stacks ——(栈的操作模拟,优先队列)
摘要:题意:有两个栈A和B,有3种操作:push,pop,merge。前两种都是栈的操作,最后一种表示的是如果“merge A B”,那么把B中的元素全部放到A中,且满足先入后出的栈原则。 分析:显然,我们给每一个节点配备一个时间戳即可。我一开始的思路是直接开两个优先队列进行直接模拟,merge操作就是把 阅读全文
posted @ 2016-08-21 15:20 Storm_Spirit 阅读(374) 评论(0) 推荐(0)
HDU 5831 Rikka with Parenthesis II ——(括号匹配问题)
摘要:用一个temp变量,每次出现左括号,+1,右括号,-1;用ans来记录出现的最小的值,很显然最终temp不等于0或者ans比-2小都是不可以的。-2是可以的,因为:“))((”可以把最左边的和最右边的交换即可,其他-2的情形同理。另外要注意的坑点是Hint里面所说的:“But do nothing 阅读全文
posted @ 2016-08-21 12:23 Storm_Spirit 阅读(146) 评论(0) 推荐(0)
HDU 5858 Hard problem ——(计算几何)
摘要:其实这题最多是个小学奥数题- -,,看到别人博客各显神通,也有用微积分做的(我也试了一下,结果到最后不会积。。。)。 思路如下(这两张图是网上找来的): 然后就很简单了,算三角形面积可以用海伦公式,也可以用1/2*a*b*sin(<a,b>)。代码如下: 阅读全文
posted @ 2016-08-21 09:20 Storm_Spirit 阅读(247) 评论(0) 推荐(0)
HDU 5867 Water problem ——(模拟,水题)
摘要:我发这题只是想说明:有时候确实需要用水题来找找自信的~ 代码如下: 阅读全文
posted @ 2016-08-21 09:11 Storm_Spirit 阅读(198) 评论(0) 推荐(0)
HDU 5795 A Simple Nim ——(Nim博弈 + 打表)
摘要:题意:在nim游戏的规则上再增加了一条,即可以将任意一堆分为三堆都不为0的子堆也视为一次操作。 分析:打表找sg值的规律即可。 感想:又学会了一种新的方法,以后看到sg值找不出规律的,就打表即可~ 打表代码如下: AC代码如下: 阅读全文
posted @ 2016-08-20 19:00 Storm_Spirit 阅读(162) 评论(0) 推荐(0)
POJ 3694 Network ——(桥 + LCA)
摘要:题意:给n个点和m条边,再给出q条边,问每次加一条边以后剩下多少桥。 分析:这题是结合了LCA和dfn的妙用。_dfn数组和dfn的意义不一样,并非访问的时间戳,_dfn表示的是被访问的顺序,而且是多线程访问下的顺序,举个例子,同一个点分岔开来的点,距离这个点相同距离的点,他们的_dfn的值是相同的 阅读全文
posted @ 2016-08-20 17:42 Storm_Spirit 阅读(187) 评论(0) 推荐(0)