摘要: 题目链接 题目思路 玄学打表发现规律,即最后一个元素一定是正贡献,倒数第二个为负贡献 前面的正负随意分配,然后参考这个题目链接贪心即可 代码 #include<bits/stdc++.h> #define fi first #define se second #define debug cout<< 阅读全文
posted @ 2021-09-06 22:43 hunxuewangzi 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 就是贪心的思路 最优解的一定是:前缀的?全部为1/0,后缀的?全部为0/1 根据$x,y$的大小来确定前缀和后缀的01 然后实现起来发现一个jls的写法很巧妙,只要记录数量以及和即可 代码 #include<bits/stdc++.h> #define fi first #def 阅读全文
posted @ 2021-09-06 19:58 hunxuewangzi 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目思路 数据范围很小,那么可以想到状压dp 设$dp[i]$表示胜利者的集合为$i$的概率,$cal(i)$为$i$的二进制数量 那么最后的答案为$\large\sum_{i=0}^{i=(1<<n)-1}dp[i]*cal(i)$ 重点在于如何计算$dp[i]$ 我们把$n$个元素分为 阅读全文
posted @ 2021-09-06 14:29 hunxuewangzi 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目大意 $t(t\le100)$组数据 $s(s\le \min(n,100))$个数的和为$n(n\le1e9)$ 要让$s$个数从$10$进制变为$11$进制的和的最大 输出$s$个数 题目思路 其实就是贪心的思维 要进位尽可能的少 例如10个1 和1个10的值在11进制下是不同的 阅读全文
posted @ 2021-09-06 10:00 hunxuewangzi 阅读(81) 评论(0) 推荐(0) 编辑