【洛谷T2695 桶哥的问题——吃桶】
这是我们团队的一个题目(就是一个_rqy说很好写的题QwQ)
题目背景



这个题目的思路很玄学(性感_rqy在线讲解)
60 Pts
对于前面的六十分,好像很好拿,单纯的打一个模拟
唯一需要注意的地方就是要是想拿全60分,不能是简简单单的n3的枚举,这显然会T
那么问题就来了:
如何才能不T的夺得这三十呢???
我们发现,
其实y它并无卵用
所以只用枚举x和z就行了(当然需要满足3|x-z)
没错就是这样qwq
100 Pts
这个方法就是用一些操作来维护几个数组
我们发现,y对于价值的贡献为零,也就是说
我们可以将价值的公式展开进行进一步的操作
Σ(x+z)*(bx-bz)=∑x*bx+z*∑bx-bz*∑x-z*bz*∑1
这样我们就只需要维护这四个数组就可以了
对于这四个数组的维护
我们需要进行三次的循环(把x和z除以三同余的放在一组,这样的三组,一定满足x+y=z−2y)
分别对其进行维护
最终得到了答案
#include<bits/stdc++.h>
using namespace std;
inline int read()
{
int X=,w=;
char c=getchar();
while(c<''||c>'')
{
if(c=='-')
{
w=-;
}
c=getchar();
}
while(c>=''&&c<='')
{
X=(X<<)+(X<<)+c-'';
c=getchar();
}
return X*w;
}
const int mod=;
const int maxn=;
int a[maxn],b[maxn],c[maxn],d[maxn];
int m[maxn],n[maxn];
int x,y,ans;
int main()
{
x=read();
y=read();
for(int i=;i<=x;i++)
{
n[i]=read()%mod;
}
for(int i=;i<=x;i++)
{
m[i]=read();
}
for(int i=;i<=;i++)
{
memset(a,,sizeof(a));
memset(b,,sizeof(b));
memset(c,,sizeof(c));
memset(d,,sizeof(d));
for(int j=i;j<=x;j+=)
{
ans=(ans+j%mod*c[m[j]]%mod)%mod;
ans=(ans-n[j]*b[m[j]]%mod)%mod;
ans=(ans+d[m[j]])%mod;
ans=(ans-a[m[j]]*n[j]%mod*(j%mod)%mod)%mod;
a[m[j]]=(a[m[j]]+)%mod;
b[m[j]]=(b[m[j]]+j)%mod;
c[m[j]]=(c[m[j]]+n[j])%mod;
d[m[j]]=(d[m[j]]+j%mod*n[j]%mod)%mod;
}
}
printf("%d",(ans+mod)%mod);
return ;
}
【洛谷T2695 桶哥的问题——吃桶】的更多相关文章
- 【桶哥的问题——吃桶-简化版】【洛谷p2671】求和
求和=>[链接] 题目相较起_rqy出的要简单很多,来自noip普及组2015 化简这个式子:x+z=2y,故x与z mod 2同余,因此和桶哥的问题——吃桶一样的思路就可以做出来啦qwq: # ...
- T2695 桶哥的问题——吃桶
~~~~~我~是~真的~忍不了~这个~取模~的~锅~了~~~~~ T2695 桶哥的问题——吃桶 前传 1.T2686 桶哥的问题——买桶 这题真的hin简单,真的 2.T2691 桶哥的问题——送桶 ...
- 校内题目T2695 桶哥的问题——吃桶
同T2一样外校蒟蒻可能没看过: 题目描述: 题目背景 @桶哥 桶哥的桶没有送完. 题目描述 桶哥的桶没有送完,他还有n个桶.他决定把这些桶吃掉.他的每一个桶两个属性:种类aia_iai和美味值bib ...
- T2695 桶哥的问题——吃桶 题解
校内测试 ------T3 对于这个题,首先想到的应该就是暴力枚举了吧,看看数据范围,60就是白送的啦!(但是我也不知道怎么才20分qwq) 思路分析: 这个题要你求所有套餐的总价值,先看一眼产生套餐 ...
- 校内题目T2691 桶哥的问题——送桶
这是一道校内题目,但迷路的蒟蒻们同样被欢迎来此学习QWQ 题目描述: 题目背景 @桶哥本校——皎月pks大佬OrzOrz 买完了桶,桶哥要去送桶. 题目描述 桶哥买了nn个桶, 他要将这些桶送去nn个 ...
- 洛谷 T2691 桶哥的问题——送桶
嗯... 题目链接:https://www.luogu.org/problem/T2691 这道题有一点贪心的思想吧...并且思路与题目是倒着来的(貌似这种思路已经很常见的... 先举个栗子: 引出思 ...
- 洛谷P2380 狗哥采矿
P2380 狗哥采矿 题目背景 又是一节平静的语文课 狗哥闲来无事,出来了这么一道题 题目描述 一个n*m的矩阵中,每个格子内有两种矿yeyenum和bloggium,并且知道它们在每个格子内的数量是 ...
- 洛谷——P2383 狗哥玩木棒
P2383 狗哥玩木棒 题目背景 狗哥又趁着语文课干些无聊的事了... 题目描述 现给出一些木棒长度,那么狗哥能否用给出的木棒(木棒全用完)组成一个正方形呢? 输入输出格式 输入格式: 输入文件中的第 ...
- 洛谷 P2380 狗哥采矿
题目背景 又是一节平静的语文课 狗哥闲来无事,出来了这么一道题 题目描述 一个n*m的矩阵中,每个格子内有两种矿yeyenum和bloggium,并且知道它们在每个格子内的数量是多少.最北边有blog ...
随机推荐
- 解决keil5中文注释乱码方法
菜单上面的edit-->Configuration-->Editor-->Encoding 选择Chinese GB2312 点击OK即可解决 参考 解决keil和source in ...
- HDU1688-POJ3463-Sightseeing(求次短路的条数)
题意 求出最短路和次短路的条数,当次短路比最短路长度小1时,输出条数之和,反之输出最短路条数. 题解 dis1[],cnt1[],dis2[],cnt2[] 分别表示最短路的长度和条数,次短路的长度 ...
- 深度学习之group convolution,计算量及参数量
目录: 1.什么是group convolution? 和普通的卷积有什么区别? 2.分析计算量.flops 3.分析参数量 4.相比于传统普通卷积有什么优势以及缺点,有什么改进方法? 5.refer ...
- EL&JSTL笔记
# 今日内容 1. JSP: 1. 指令 2. 注释 3. 内置对象 2. MVC开发模式 3. EL表达式 4. JSTL标签 ...
- (ES6)数据处理常用工具方法收集(更新状态: on)
1. 扁平数组转成tree结构(来源: StackOverflow的印度老哥写的) // Data Set // One top level comment var comments = [{ id: ...
- set -xv
1.set -x 或set xtrace 会显示+以及脚本中的内容(执行的部分,没执行的不显示) set -xv(脚本中所有的内容都显示,包括没执行的部分) 2.debug=3 //多层级调试 t ...
- 教父郭盛华透露:PHP编程语言中多个代码执行缺陷
黑客无处不在,知名教父级网络安全专家郭盛华透露:“PHP编程语言其核心和捆绑库中的多个高严重性漏洞,其中最严重的漏洞可能允许黑客远程攻击者执行任意代码并破坏目标服务器. 超文本预处理器,通常称为PHP ...
- 多对多关系表的创建方式、forms组件
目录 多对多关系表的三种创建方式 1.全自动,Django自动创建 2.纯手撸 3.半自动(推荐使用) forms组件 小例子 forms组件 校验器 钩子函数 局部钩子 全局钩子 forms组件常用 ...
- 一个错误导致懂了mac系统的PATH环境变量
一个完全不懂mac系统的强迫症小白,由于搭建环境都按照百度走,所以在执行命令echo $PATH查看PATH内容时发现怎么有这样一串东西 /usr/local/bin:/usr/bin:/bin:/u ...
- lvm磁盘扩展
pvcreate /dev/sddpvdisplay /dev/sddvgdisplayvgextend VolGroup_02 /dev/sddlvextend -L +50G /dev/mappe ...