题目传送门 Facer帮父亲 题目背景 Facer可是一个孝顺的孩纸呦 题目描述 Facer的父亲是一名经理,现在总是垂头丧气的. Facer问父亲,怎么啦?父亲说,公司出了点问题啊. 公司管理着N个风景点,每个风景点都有不少人来参观. 可是现在!人民投诉票价太高了,他不得不调整票价 具体来说,第i个景点如果票价是x,来的人数就是max( (ai - bi * x),0 )[收益自己算好伐] 你需要分配每个景点的门票,使得每个景点门票总和不超过k,且最大化收益 求最大的收益 输入输出格式 输入格…
题目背景 Facer可是一个孝顺的孩纸呦 题目描述 Facer的父亲是一名经理,现在总是垂头丧气的. Facer问父亲,怎么啦?父亲说,公司出了点问题啊. 公司管理着N个风景点,每个风景点都有不少人来参观. 可是现在!人民投诉票价太高了,他不得不调整票价 具体来说,第i个景点如果票价是x,来的人数就是max( (ai - bi * x),0 )[收益自己算好伐] 你需要分配每个景点的门票,使得每个景点门票总和不超过k,且最大化收益 求最大的收益 输入输出格式 输入格式: 第一行N , k 接下来…
题目来源:洛谷P2827 思路 阅读理解题 一开始以为是裸的优先队列而已 但是发现维护一个切开并且其他的要分别加上一个值很不方便 而且如果直接用优先队列会TLE3到4个点 自测85分 所以我们需要发现题目中蕴含的单调性(我才不会说是从题解中发现的呢) 来自你谷aiyougege大佬的证明: 先被切掉的蚯蚓分成的蚯蚓一定比后切掉的蚯蚓分成的蚯蚓大. 假设这两只蚯蚓分别为a,b 其中a>b 那么它被切成a1​,a2​.t秒后, b被切成了b1​,b2​. 此时a1​,a2​的长度为​​La1*p+t…
传送门 题意:求出a和b不能通过线性组合(即n*a+m*b)得到的最大值: 思路:摘自洛谷: 不妨设 a<b 假设答案为 x 若 x≡m*a ( mod b )(1≤m≤b−1) (mod3)什么意思? [答]: 后面的 mod 3 表示:相对于 的模,即用 来除,得到相应的余数 举例来说,+3m=(mod3),+3m 用 来除 的余数是 即 x=m*a+n*b (1≤m≤b−1) 显然当n≥0 时 x 可以用 a,b 表示出来,不合题意. 因此当 n = -1 时 x 取得最大值,此时 x=m…
洛谷题目链接 动态规划 我们看题目后知道这是一棵无根树,要求出有多少子树 我们设$f[u][1]$表示选了当前节点$u$的方案数 相反的$f[u][0]$则为不选中$u$ 那么考虑状态转移如下: f[u][1]=(f[u][1]*(1+f[v][1]))%mod; f[u][0]=(f[u][0]+(f[v][1]+f[v][0]%mod))%mod; 第二个就不解释了,第一个根据加法原则可以知道 代码实现: #include<iostream> #include<cstdio>…
P2797 Facer的魔法 题意:给你n个数,你可以选若干个数,使得平均数减中位数最大 数据范围:\(n \le 10^5\) 原题CF626E 很容易想到枚举一个中位数,但是如果选取的数字的个数是偶数个该怎么办呢? 下面证明选取奇数个时一定可以作为答案 当选取一个数字时,答案为0,所以最优答案不可能小于0,这点很重要 现在,我们假设选取了\(2k\)个有序的数成为了答案 设中位数为\(M_0=\frac{a_k+a_{k+1}}{2}\),平均数为\(A_0=\frac{\sum a}{2k…
传送门 解题思路 首先读入a.b数组后,sort一遍(从小到大),然后把a[1]+b[1],a[2]+b[1],a[3]+b[1]……a[n]+b[1]全部加入一个优先队列q(小根堆). 然后从一到n循环,每一次取出队列中的最小的元素(假设是a[i]+b[j]),输出数值,然后把数值修改为a[i]+b[j+1],存入队列. 为什么呢? 很显然,我们把所有可能的情况列成一张表: a[1]+b[1],a[2]+b[1],a[3]+b[1],……,a[n]+b[1]; a[1]+b[2],a[2]+b…
传送门 毒瘤出题人卡精度-- 思路 看到森林里加边删边,容易想到LCT. 然而LCT上似乎很难实现往一条链里代一个数进去求和,怎么办呢? 善良的出题人在下方给了提示:把奇怪的函数泰勒展开搞成多项式,就很好维护了. 注意到数都很小,精度问题不会太大(那你还被卡),可以直接在\(0\)处泰勒展开更为方便. 然后就做完啦~ 代码 要开O2才能过QwQ #include<bits/stdc++.h> namespace my_std{ using namespace std; #define pii…
传送门:Problem P3951 https://www.cnblogs.com/violet-acmer/p/9827010.html 参考资料: [1]:http://m.blog.sina.com.cn/s/blog_b046a49001015zun.html#page=1 题解: 两个互素的正整数a,b的非负线性组合ax+by不能表示的最大整数为 a*b-a-b; 证明: 例如a=5,b=6,则不能表示的最大整数为19,换言之所有大于19的整数都可以表示成ax+by,其中x,y为非负整…
题意 题目链接 Sol 充满套路的数学题.. 如果你学过莫比乌斯反演的话不难得到两个等式 \[gcd(\frac{x}{a_1}, \frac{a_0}{a_1}) = 1\] \[gcd(\frac{b_1}{b_0}, \frac{b_1}{x}) = 1\] 然后枚举\(b_1\)的约数就做完了.. // luogu-judger-enable-o2 // luogu-judger-enable-o2 #include<bits/stdc++.h> #define LL long lon…