随笔分类 -  数学 -- 组合数学

摘要:"传送门" 题意: 现有$n,n\leq 5000$块草皮,每块草皮都有一个美味度$s_i$。 现有$m,m\leq 5000$头牛,每头牛有两个属性$f_i\ h_i$,分别表示这头牛只吃美味度为$f_i$的草皮以及要吃$h_i$块这样的草皮。 每头牛在吃饱过后就会原地打盹,之后的牛都不能从那里跨 阅读全文
posted @ 2020-02-18 16:51 heyuhhh 阅读(412) 评论(0) 推荐(0) 编辑
摘要:"PTA" "牛客" A. Convolution 题意: 给出序列$a_{1...n}$,求$\displaystyle \sum_{i=1}^n\sum_{j=1}^n2^{a_ia_j}$。 $n\leq 10^5,a_i\leq 10^5$。 思路: $$ \begin{aligned} & 阅读全文
posted @ 2020-02-17 20:10 heyuhhh 阅读(449) 评论(0) 推荐(0) 编辑
摘要:"PTA" "牛客" A. 黑色气球 数据保证答案唯一,则随便搞搞即可。 Code cpp const int mod=1e9+7; const int maxn=5005; bool vis[maxn]; vector e[maxn]; int n; inline void view_all(ve 阅读全文
posted @ 2020-02-09 15:55 heyuhhh 阅读(392) 评论(0) 推荐(0) 编辑
摘要:"PTA" "牛客" A.期望逆序对 贪心考虑即可。 考虑最终序列的最优解,对于两个区间$[l_1,r_1],[l_2,r_2],l_1\leq l_2$,若: $r_1\leq r_2$,那么直接按顺序摆放即可; $r_1 r_2$,我们直接按照$\frac{l+r}{2}$的大小关系进行摆放。 阅读全文
posted @ 2020-02-04 19:27 heyuhhh 阅读(351) 评论(0) 推荐(0) 编辑
摘要:"传送门" A. Equation 签到。 Code B. Modulo Equality 因为$n$比较小,直接枚举循环排列然后check即可。 Code C. Long Beautiful Integer 题意: 给出一个长度为$n,n\leq 2e5$的十进制数$x$。 然后要找到一个最小的数 阅读全文
posted @ 2019-12-22 17:22 heyuhhh 阅读(379) 评论(0) 推荐(0) 编辑
摘要:"传送门" 题意: 给出$n$个元素,每个元素有价值$w_i$。现在要对这$n$个元素进行划分,共划分为$k$组。每一组的价值为$|S|\sum_{i=0}^{|S|}w_i$。 最后询问所有划分的总价值。 思路: 直接枚举划分不好计算,考虑单独计算每一个元素的贡献,那么就有式子: $$ \sum_ 阅读全文
posted @ 2019-12-17 11:55 heyuhhh 阅读(230) 评论(0) 推荐(0) 编辑
摘要:"传送门" 题意: 给出一颗$n$个结点的树,对于每个结点输出其答案,每个结点的答案为$ans_x=\sum_{i=1}^ndis(x,i)^k$。 思路: 我们对于每个结点将其答案展开: $$ \begin{aligned} ans_x=&\sum_{i=0}^{n}\sum_{j=0}^k{di 阅读全文
posted @ 2019-12-17 09:20 heyuhhh 阅读(184) 评论(0) 推荐(0) 编辑
摘要:"传送门" A Circle 签到。 B Echo 签到到。 C Average Length 要卡下精度,可用二分或者long double来搞。 Code cpp / Author: heyuhhh Created Time: 2019/11/16 20:26:13 / include defi 阅读全文
posted @ 2019-11-19 10:49 heyuhhh 阅读(440) 评论(0) 推荐(0) 编辑
摘要:"传送门" B. Dudu's maze 题意: 是什么鬼东西???我读题可以读半小时QAQ 给出一张无向图,一个人在里面收集糖果,每个点都有一个糖果,特殊点除外。当他第一次进入特殊点时,会随机往一条边走;之后再进入特殊点时,直接退出。 问最后期望获得的糖果数为多少。 思路: 注意到这个人肯定会贪心 阅读全文
posted @ 2019-09-18 22:20 heyuhhh 阅读(300) 评论(0) 推荐(0) 编辑
摘要:"传送门" C Triangular Relationship 题意: 给出$n,k$,现在要你求合法三元组的数量,合法是指对于一个三元组$(a,b,c)$,每个数都不超过$n$,并且$a+b,b+c,a+c$为$k$的倍数。 思路: 按照模$k$的余数来讨论即可。 Code cpp include 阅读全文
posted @ 2019-09-04 22:15 heyuhhh 阅读(242) 评论(0) 推荐(1) 编辑
摘要:2019牛客多校训练第一场题解 题目链接 A.Equivalent Prefixes 考虑位置$i$为区间最小值的下标,那么只需要找到左边第一个值比它小的位置就行了。单调栈搞一搞就行。 Code ```cpp #include using namespace std; const int N = 5 阅读全文
posted @ 2019-07-19 20:57 heyuhhh 阅读(567) 评论(0) 推荐(0) 编辑