博客园 首页 私信博主 显示目录 隐藏目录 管理 动画
上一页 1 2 3 4 5 6 7 8 ··· 12 下一页
摘要: "题面" 解析 一开始以为这题很难的... 其实只要设$d$为$a$的最大公因数, 即$a[i]=s[i] d$, 因为$n=\sum_{i=1}^{n}a[i]=\sum_{i=1}^ns[i] d=d \sum_{i=1}^ns[i]$. 所以$d$一定是$n$的约数, 因此从大到小枚举$d$, 阅读全文
posted @ 2019-09-12 15:50 Hastin 阅读(99) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-09-09 18:45 Hastin 阅读(12) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-09-09 18:44 Hastin 阅读(10) 评论(1) 推荐(0) 编辑
摘要: "题面" 解析 ~~神仙LZF随机找出的毒瘤题.~~ 一开始读题过于草率导致$naive$了. step 1 看上去特别像数位DP(实际上也有一点). 先预处理出有$i$位的数(最高位不为$0$)的数的变换值的和$f[i]$, 它可以通过一段数前后各拼上一个数得到(也就是通过$f[i 2]$转化). 阅读全文
posted @ 2019-08-28 17:02 Hastin 阅读(252) 评论(0) 推荐(0) 编辑
摘要: "题面" 解析 这题思路挺秒啊. ~~本麻瓜终于找了道好题了(还成功把ztlztl大仙拖下水了)~~ 看到叶子节点数 include include include include define int long long define fre(x) freopen(x".in","r",stdin 阅读全文
posted @ 2019-08-28 10:06 Hastin 阅读(146) 评论(0) 推荐(0) 编辑
摘要: "题面" 解析 可以发现,发纪念品有三种方式: 1. 从左边走再原路返回. 2. 从右边走再原路返回. 3. 走一圈. 注意到,第三种走法最多只会走一次, 因为如果走了多次,那发放的物品数量就会 =$2k$, 那么一定有半边的数量 =$k$. 因此就可以转化为一次1/2操作加一次3操作(先发掉$k$ 阅读全文
posted @ 2019-08-27 08:18 Hastin 阅读(187) 评论(0) 推荐(0) 编辑
摘要: "题面" 解析 ~~这个似乎并不好讲啊~~ 设$f[i][j]$表示有$i$座山, 最后一座山到达高度是$i$座中第$j$大的, 且最后一座山是山谷. 注意,$i$是代表有$i$座山,并不代表高度一定是$1$~$i$. $j$也是一个类似于离散化的东西 . 然后我们考虑设$g[i][j]$, 除了最 阅读全文
posted @ 2019-08-27 07:31 Hastin 阅读(120) 评论(0) 推荐(0) 编辑
摘要: "题面" 解析 首先对于其中的两个点$x,y$最近的点显然就是他们的$lca$(我们把它设为$p1$), 然后考虑第三个点$z$与$p1$的$lca,p2$. 有以下几种情况: 1. $dep[p1] =dep[p2]$(也就是$p2$在$p1$上面或$p1=p2$),这时候答案显然就是$p1$. 阅读全文
posted @ 2019-08-26 22:05 Hastin 阅读(156) 评论(0) 推荐(0) 编辑
摘要: "题面" 解析 $n$只有$30$可以直接枚举每个矩形, 判断他们的左上角到右下角或右上角到左上角的最短路是否小于$T$. 最短路可以用$dijkstra$. 一开始想用$DP$写最短路后来才知道思路有问题(因为最短路的方案可能不在矩形中). code: cpp include include in 阅读全文
posted @ 2019-08-26 21:45 Hastin 阅读(100) 评论(0) 推荐(0) 编辑
摘要: "题面" 解析 这题一眼DP啊. 然而想了半天毫无思路. 后来~~看题解后~~发现可以按边权的大小顺序DP. 将边权从小到大排序,对于权值相同的边分为一组. 设$f[i][0]$表示经过当前权值的边后到达$i$的最长路, $f[i][1]$表示经过之前的权值的边后到达$i$的最长路. 那么对于一条边 阅读全文
posted @ 2019-08-25 22:20 Hastin 阅读(138) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 12 下一页