上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 36 下一页
摘要: 题目链接 题目思路 首先二分k值 然后check的时候有一个很重要的性质 参考这个链接 然后用优先队列维护前k大值,枚举断点,乱搞搞 代码 #include<bits/stdc++.h> #define pii pair<int,int> #define fi first #define se se 阅读全文
posted @ 2021-10-03 16:44 hunxuewangzi 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 这个题目看数据范围就是一个状压dp 但是如何设置有点巧妙,因为你不知道已经放入字母的位置 所以就类似贡献的思维来搞 这个感觉有点说不清楚。。。 代码 #include<bits/stdc++.h> #define fi first #define se second #defin 阅读全文
posted @ 2021-09-30 15:13 hunxuewangzi 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 感觉就是两个结论(或许打表可以发现 2 否则,x是循环的,且循环开始于小数点后第1+max⁡(p2,p5)位,其中p2表示表示质因数分解形式下2的指数项,p5​表示质因数分解下5的指数项。即f(x)=1+max⁡(p2,p5) 第一个结论,感觉好理解一点 就是可以使得分子分母进行 阅读全文
posted @ 2021-09-28 09:21 hunxuewangzi 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 算是一个套路题 就是二分,然后大于等于他为1,小于等于他为0 然后判断是否有两个集合的或为全集 代码 #include<bits/stdc++.h> #define fi first #define se second #define debug cout<<"I AM HERE 阅读全文
posted @ 2021-09-27 19:40 hunxuewangzi 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 我感觉这种对于多堆石子的好像都是这个套路,求sg函数,然后异或 下面为官方题解 容易发现,对于一个字符串而言,玩家的胜负与具体字母无关,只和这些字母的出现次数有关。 在 n ≤ 40 时,这样本质不同的状态一共有P(i) = 215308 种,其中 P(i) 表示 i 的无序分拆 阅读全文
posted @ 2021-09-22 20:25 hunxuewangzi 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 题目链接 有一个显然的 $O(n^3)$dp,无法通过此题。 考虑如果只有两类卡组 a 和 b ,可以将每次 “3pick” 按 b − a 排序后贪心地先选择其中一类,再选另一类。 基于这个贪心,我们考虑对另一类卡组进行 dp。f(i, j) 表示前 i 次 “3pick” 中,有 j 次选择了第 阅读全文
posted @ 2021-09-21 17:32 hunxuewangzi 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 题目链接 思路 其实就是暴力,直接暴力找最大的$m+1$个必定有答案 那么求出最大的呢,其实很像bfs,但是是用优先队列直接维护的bfs 代码 #include<bits/stdc++.h> #define fi first #define se second #define debug cout< 阅读全文
posted @ 2021-09-21 15:44 hunxuewangzi 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 官方题解写的很好 但基本想不到。。。还是写个博客记录下 代码 #include<bits/stdc++.h> #define fi first #define se second #define debug cout<<"I AM HERE"<<endl; using names 阅读全文
posted @ 2021-09-20 15:27 hunxuewangzi 阅读(143) 评论(1) 推荐(0) 编辑
摘要: 题目链接 题目思路 直接看官方的题解吧链接 利用容斥的思想 还有一个就是最后为什么可以直接暴力dfs的结论很妙 还有$p[a[i]]*=(i+1)$的原因 感觉像很多巧妙的trick结合变成一个hard的题目 分开每一个小问题可能都会但是结合就gg 代码 #include<bits/stdc++.h 阅读全文
posted @ 2021-09-18 10:27 hunxuewangzi 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 设$dp[i][j]$表示前$i-1$列全部合法$j$表示第$i,i+1,i+2,i+3$列的状态 转移的话只要枚举这一列进行了什么操作即可 复杂度$O(n2^{16}(4+3+2+1))$ 代码 #include<bits/stdc++.h> #define fi first 阅读全文
posted @ 2021-09-17 20:19 hunxuewangzi 阅读(28) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 36 下一页