摘要: "懒得复制,戳我戳我" Solution: 傻逼题目,直接dp就可以了,他是求最后一次的最大值 Code: cpp //It is coded by Ning_Mew on 4.17 include using namespace std; const int maxn=55,maxl=1000+7 阅读全文
posted @ 2018-04-29 15:14 Ning_Mew 阅读(159) 评论(0) 推荐(0) 编辑
摘要: "懒得复制,戳我戳我" Solution: $dp[i][j][k]$以$i$为子树根节点,到根节点中有$j$条公路没修,$k$条铁路没修,存子树不便利和 $dp[i][j][k]=min(dp[ls][j 1][k]+dp[rs][j][k] , dp[ls][j][k]+dp[rs][j+1][ 阅读全文
posted @ 2018-04-29 15:14 Ning_Mew 阅读(290) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-04-17 16:41 Ning_Mew 阅读(16) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2018-04-14 20:45 Ning_Mew 阅读(31) 评论(0) 推荐(0) 编辑
摘要: "懒得复制,戳我戳我" Solution: 还是一个$Splay$,我们只用多存一个值$rad$来维护二叉树,然后用数组存下每个书对应的值是多少 $Top$操作,我是把$s$旋转到根节点,然后删除,将$s$对应的$rad$值调至最小,然后插入就可以 $Bottom$操作,就是和$Top$相反,删除后 阅读全文
posted @ 2018-04-12 22:52 Ning_Mew 阅读(181) 评论(0) 推荐(0) 编辑
摘要: "懒得复制,戳我戳我" Solution: $Splay$板子,注意交换的地方,然后就是注意不要越界~~node[x]~~,应该是$node[now]$,其次就是数组可以开大点 Code: cpp //It is coded by Ning_Mew on 4.10 include define ls 阅读全文
posted @ 2018-04-11 00:10 Ning_Mew 阅读(234) 评论(0) 推荐(0) 编辑
摘要: "懒得复制,戳我戳我" Solution: $Splay$板子题,注意可以选择相等大小 Code: cpp //It is coded by Ning_Mew on 4.10 include define ls(x) node[x].ch[0] define rs(x) node[x].ch[1] 阅读全文
posted @ 2018-04-10 21:20 Ning_Mew 阅读(150) 评论(0) 推荐(0) 编辑
摘要: "懒得复制,戳我戳我" Solution: 就是有一个贪心策略:(以下假设使$A$队分数更高) $First:$比较两个分值的最小值,如果$A$最小分比$B$最小分大就直接比较两个最小的,$A$队分数加两分。 $Second:$上一条不满足我们就比较$A$与$B$最大值,如果$A$更大,就直接比较$ 阅读全文
posted @ 2018-04-08 00:47 Ning_Mew 阅读(216) 评论(0) 推荐(0) 编辑
摘要: "懒得复制,戳我戳我" Solution: 题目大概意思就是找两条最短路后,找出最长公共部分 我们就只用以四个点为源点开始走$SPFA$,然后我们就只用遍历每条边然后建立一个新的拓扑图,然后随便搞一下就出来了 另外在建新图时不要跑边入队,不然一次性入队的点太多就会爆炸,只用遍历每一条边,然后把公共边 阅读全文
posted @ 2018-04-08 00:46 Ning_Mew 阅读(168) 评论(0) 推荐(0) 编辑
摘要: "懒得复制题面,戳我戳我" Question: ~~(因为网上找不到好的翻译,这里简单复述一下)~~ 告诉你$m1+m2$个约束条件,然后要你找出$X_1 X_n$这些数字,求满足要求的数列中不同的数字个数最多有多少个(exp:$1,2,3,3,2$里面就有三个不同的数) Solution: 首先的 阅读全文
posted @ 2018-04-03 15:31 Ning_Mew 阅读(236) 评论(0) 推荐(0) 编辑