摘要: 题面 一个$b$进制最简分数是有限循环小数当且仅当其分母没有与$b$不同的质因子,小学数奥内容水过 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 long long T,n, 阅读全文
posted @ 2018-09-21 08:08 Speranza_Leaf 阅读(258) 评论(0) 推荐(0)
摘要: 题面 二分答案,问题就转化为了一个可行性问题,因为我们不知道国王会往哪里走,所以我们要在所有他可能走到的点建造,考虑用树形DP解决(这个DP还是比较好写的,你看我这个不会DP的人都能写出来=。=) 定义$dp[x]$表示以$x$这个点为根的子树中(不包含x)需要修建的次数(因为1号点已经修好了,最后 阅读全文
posted @ 2018-09-20 18:51 Speranza_Leaf 阅读(176) 评论(0) 推荐(0)
摘要: 题面 从零开始的DP学习系列之叁 树形DP的基本(常见?)思路:先递归进儿子,然后边回溯边决策,设状态时常设$dp[x]$表示以$x$为根的子树中(具体分析算不算$x$这个点)的情况 显然的二分答案,之后问题转化为用$m$个能覆盖$mid$范围的点能否覆盖所有的特殊点,用树形DP判断 设$unc[n 阅读全文
posted @ 2018-09-20 10:24 Speranza_Leaf 阅读(154) 评论(0) 推荐(0)
摘要: 题面 枚举每个数字是否能被删去,然后就是如何判定图是否存在。应该从按“度数”从大到小排序,从最大的顺次向其他点连边(先连“度数”小的可能会把一些可以和大“度数”点连接的点用掉)。但是这个排序每连一次都要做一次,而$N<=500$的情况下$O(n^3log$ $n)$并不能过。但是发现度数最多只有$n 阅读全文
posted @ 2018-09-20 08:14 Speranza_Leaf 阅读(204) 评论(0) 推荐(0)
摘要: 题面 题外话:我的实数二分有什么问题=。= 仍然(我为什么要这么说)是二分答案,如何检查呢?将所有的数减去二分出来的$mid$后求和得到和$sum$,然后如果在减出来的数列中能找出一段大于$sum$的数则可行。推式子 在减去二分出的$mid$之后,设切掉$[l,r]$,数列的总和为$tot$ $su 阅读全文
posted @ 2018-09-19 22:10 Speranza_Leaf 阅读(198) 评论(0) 推荐(0)
摘要: 题面 比较明显地能看出二分来,但是检查函数很难写。对于二分出的一个$mid$,我们要让它满足在$m$次操作内令序列中存在一个为零的位置,同时使得任意相邻的两项之差不超过$mid$ 第二项的检查比较好做,我们正反各扫一遍然后把扫到的上一个数对当前数与$mid$之差取最小值,就是满足条件的最小代价 对于 阅读全文
posted @ 2018-09-19 22:05 Speranza_Leaf 阅读(179) 评论(0) 推荐(0)
摘要: 题面 题外话:LYD说他当时看错题了,考场爆零了,然后有了作诗这道题=。= 离线处理询问,按右端点递增排序,然后对于每种花$flw[i]$,我们求一个$pre[flw[i]]$表示这种花上一次出现的位置。那么扫描每一朵花,然后一个询问右端点的花出现的贡献就是使得$[pre[pre[i]]+1,pre 阅读全文
posted @ 2018-09-19 21:50 Speranza_Leaf 阅读(121) 评论(0) 推荐(0)
摘要: 题面 差分原数列得到差分数组$dif$,这样对于$dif[2]->dif[n]$会多出来两个“空位置”$1$和$n+1$。然后区间加减就变成了使一个位置$+1$,另一个位置$-1$(可以对“空位置”操作)。 那么第一问的答案就是差分数组中$dif[2]->dif[n]$中正数的和$sum1$和负数和 阅读全文
posted @ 2018-09-19 21:29 Speranza_Leaf 阅读(128) 评论(0) 推荐(0)
摘要: 题面 从零开始的DP学习系列之贰(我的DP真的就这么烂TAT) 设DP状态的另一个技巧,考虑题目中有关答案的各种信息 然后这种和结尾有关系的$dp$可以考虑向前找结尾来转移 设$dp[i][j]$表示到第$i$天为止,有$j$天有奶牛逃跑的最小不一致记录数。转移时枚举天数和逃跑天数,然后枚举一个前一 阅读全文
posted @ 2018-09-19 21:17 Speranza_Leaf 阅读(322) 评论(0) 推荐(0)
摘要: 题面 题外话:从零开始的DP学习系列之壹(我真的不是在装弱,我DP真的就这么烂TAT) 从lyd那里学到了一点DP的小技巧,在设状态时可以先假装自己在做搜索,往一个函数里传了一些参数,然后把这些参数抓出来放在状态里就好了=。= 设$dp[i][j][k][h]$表示处理完前$i$个物品,$A$还剩下 阅读全文
posted @ 2018-09-19 21:10 Speranza_Leaf 阅读(149) 评论(0) 推荐(0)