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






Storm_Spirit

不忘初心,方得始终。
 
 

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

03 2017 档案

 
ZOJ 2592 Think Positive ——(xjbg)
摘要:做法是,先求出前缀和pre。然后枚举端点i,[i+1,n]中pre最小的找出来,减去pre[i-1]大于0,这是第一个条件;第二个条件是,从i开始的后缀和和i之前的最小的一个pre相加大于0。只要满足这两个条件那么这个端点就是可行的。显然找这两个区间的最值都是可以用数组线性维护的,因此总体复杂度是O 阅读全文
posted @ 2017-03-28 21:51 Storm_Spirit 阅读(246) 评论(0) 推荐(0)
POJ 3342 Party at Hali-Bula ——(树型DP)
摘要:一开始用pii保存dp类型,写的很长,还是WA了= =。。 然后参考了一下别人的博客,重新写了一发(似乎是岐哥的博客233)。 代码如下: 想说明的一点是,博客里面的判断是否有多种可能的if条件应当是dp[i][0] >= dp[i][1],虽然两者都能AC,但是我觉得这样更加妥当一些。 阅读全文
posted @ 2017-03-27 22:55 Storm_Spirit 阅读(167) 评论(0) 推荐(0)
POJ 2486 Apple Tree ——(树型DP)
摘要:题意是给出一棵树,每个点都有一个权值,从1开始,最多走k步,问能够经过的所有的点的权值和最大是多少(每个点的权值只能被累加一次)。 考虑到一个点可以经过多次,设dp状态为dp[i][j][k],i表示当前从i出发,j表示最多走j步,k=0的话表示最后回到i点,否则不回到i点的子问题的答案。 转移见代 阅读全文
posted @ 2017-03-27 20:08 Storm_Spirit 阅读(140) 评论(0) 推荐(0)
Egyptian Collegiate Programming Contest (ECPC 2015)
摘要:题目链接:https://vjudge.net/contest/155219#overview。 A题,用全排列来找出比当前这个数字字典序还大的排列有几个,然后前缀和dp即可。据说可以康拓展开来快速找出前面需要实现的要求。 B题,水题。 C题,感觉数据比较水。做法是dsu+lca,但是为了实现lca 阅读全文
posted @ 2017-03-26 11:33 Storm_Spirit 阅读(150) 评论(0) 推荐(0)
2015 ACM Arabella Collegiate Programming Contest
摘要:题目链接:https://vjudge.net/contest/154238#overview。 ABCDE都是水题。 F题,一开始分类讨论,结果似乎写挫了,WA了一发。果断换并查集上,A了。 G题,状态压缩DP,不难写,但是时限有点紧,读入也比较恶心。。值得注意的是计算一个数二进制下有几个1可以用 阅读全文
posted @ 2017-03-17 18:02 Storm_Spirit 阅读(171) 评论(0) 推荐(0)
UVALive 4394 String painter ——(区间DP)
摘要:其实这个dp过程有点似懂非懂。。。代码如下: 阅读全文
posted @ 2017-03-17 17:38 Storm_Spirit 阅读(129) 评论(0) 推荐(0)
2015-2016 ACM ICPC Baltic Selection Contest
摘要:这是上礼拜三的训练赛,以前做过一次,这次仅剩B题没补。题目链接:https://vjudge.net/contest/153192#overview。 A题,水题。 C题,树形DP,其实是一个贪心问题,比如要取max的话,从根往下的肯定是要依次放max门,因此取一条能够获得最大值的一路放下max门即 阅读全文
posted @ 2017-03-13 17:56 Storm_Spirit 阅读(174) 评论(0) 推荐(0)
UVALive 4254 Processor ——(二分+优先队列处理)
摘要:题目是求最小化最大值,很显然是二分,但是二分以后怎么判断mid是否可行并不容易。 代码参考了网上一个博客的代码。巧妙之处在于一秒一秒的考虑,这样可以把处理速度mid直接转化成1秒内实际的量来解决(避免小数问题),然后贪心考虑每次处理最早结束的工作即可。注意我这里的代码t表示的是一整秒,譬如[1,2] 阅读全文
posted @ 2017-03-13 17:42 Storm_Spirit 阅读(150) 评论(0) 推荐(0)
HDU 2243 考研路茫茫――单词情结 ——(AC自动机+矩阵快速幂)
摘要:和前几天做的AC自动机类似。 思路简单但是代码200余行。。 假设solve_sub(i)表示长度为i的不含危险单词的总数。 最终答案为用总数(26^1+26^2+...+26^n)减去(solve_sub(1)+solve_sub(2)+...+solve_sub(n))。前者构造f[i]=f[i 阅读全文
posted @ 2017-03-06 22:53 Storm_Spirit 阅读(132) 评论(0) 推荐(0)
Zhejiang Provincial Collegiate Programming Contest + ZOJ Monthly
摘要:题目链接:https://vjudge.net/contest/152802#overview。 前五题以前做过了。不过还是没能全A= =。 前三题水题,略过。 第四题是找规律,暴力打表找一下循环节即可。 第五题是贪心,记得上次搞这题时就没搞出来= =。其实很简单,只是需要注意一下小细节。 第六题求 阅读全文
posted @ 2017-03-06 19:08 Storm_Spirit 阅读(97) 评论(0) 推荐(0)
POJ 2778 DNA Sequence —— (AC自动机+矩阵快速幂)
摘要:距离上次做AC自动机有很久了=。=,以前这题的思路死活看不懂,现在还是觉得很好理解的。 思路参见:http://blog.csdn.net/morgan_xww/article/details/7834801#。 我用cnt=1表示这个节点是危险的,然后再匹配fail指针的时候,如果一个节点的前缀是 阅读全文
posted @ 2017-03-04 12:07 Storm_Spirit 阅读(218) 评论(0) 推荐(0)
2015 Syrian Private Universities Collegiate Programming Contest
摘要:题目链接:https://vjudge.net/contest/152219#overview。 水题较多。就贴一下当时没做出来的几题好了。 D,方法很简单,当时没想出来。用pos[x]表示x这个数已经是递增序列的第几个了,那么每次输入一个数x,令pos[x] = pos[x-1] + 1并更新答案 阅读全文
posted @ 2017-03-01 19:35 Storm_Spirit 阅读(152) 评论(0) 推荐(0)