【桶哥的问题——吃桶-简化版】【洛谷p2671】求和
求和=>【链接】
题目相较起_rqy出的要简单很多,来自noip普及组2015
化简这个式子:x+z=2y,故x与z mod 2同余,因此和桶哥的问题——吃桶一样的思路就可以做出来啦qwq:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring> using namespace std; const int mod=;
const int maxn=;
int n,m,ans,ans1;
int c[maxn>>], c1[maxn>>], c2[maxn>>], c3[maxn>>],c0[maxn>>],c4[maxn>>];
int c5[maxn>>],c6[maxn>>];
struct jgt{
int a,b;
}t[maxn]; int main(){ scanf("%d%d",&n,&m); for(int i=;i<=n;i++)
scanf("%d",&t[i].b),t[i].b%=mod; for(int i=;i<=n;i++)
scanf("%d",&t[i].a); for(int i=;i<=n;i+=){
c1[t[i].a] = (c1[t[i].a]%mod+c[t[i].a]%mod);
c[t[i].a] = (c[t[i].a]%mod+(i%mod)*(t[i].b%mod))%mod;
c2[t[i].a] = (c2[t[i].a]%mod+(i%mod)*(c0[t[i].a])%mod)%mod;
c0[t[i].a] = (c0[t[i].a]%mod+t[i].b)%mod;
c4[t[i].a] = (c4[t[i].a]%mod+c3[t[i].a]%mod*t[i].b%mod)%mod;
c3[t[i].a] = c3[t[i].a]%mod+i%mod;
c6[t[i].a] = (c6[t[i].a]%mod+t[i].b%mod*c5[t[i].a]%mod*i%mod)%mod;
c5[t[i].a] ++;
} for(int i=;i<=m;i++)
ans = (ans%mod+c1[i]%mod+c2[i]%mod+c4[i]+c6[i])%mod; memset(c, , sizeof(c));memset(c0, , sizeof(c0));
memset(c1, , sizeof(c1));memset(c2, , sizeof(c2));
memset(c4, , sizeof(c4));memset(c3, , sizeof(c3));
memset(c5, , sizeof(c5));memset(c6, , sizeof(c6)); for(int i=;i<=n;i+=){
c1[t[i].a] = (c1[t[i].a]%mod+c[t[i].a]%mod);
c[t[i].a] = (c[t[i].a]%mod+(i%mod)*(t[i].b%mod))%mod;
c2[t[i].a] = (c2[t[i].a]%mod+(i%mod)*(c0[t[i].a])%mod)%mod;
c0[t[i].a] = (c0[t[i].a]%mod+t[i].b)%mod;
c4[t[i].a] = (c4[t[i].a]%mod+c3[t[i].a]%mod*t[i].b%mod)%mod;
c3[t[i].a] = c3[t[i].a]%mod+i%mod;
c6[t[i].a] = (c6[t[i].a]%mod+t[i].b%mod*c5[t[i].a]%mod*i%mod)%mod;
c5[t[i].a] ++;
} for(int i=;i<=m;i++)
ans = (ans%mod+c1[i]%mod+c2[i]%mod+c4[i]+c6[i])%mod; printf("%d",(ans+mod)%mod); }
【桶哥的问题——吃桶-简化版】【洛谷p2671】求和的更多相关文章
- T2695 桶哥的问题——吃桶
~~~~~我~是~真的~忍不了~这个~取模~的~锅~了~~~~~ T2695 桶哥的问题——吃桶 前传 1.T2686 桶哥的问题——买桶 这题真的hin简单,真的 2.T2691 桶哥的问题——送桶 ...
- 【洛谷T2695 桶哥的问题——吃桶】
这是我们团队的一个题目(就是一个_rqy说很好写的题QwQ) 题目背景 @桶哥 这个题目的思路很玄学(性感_rqy在线讲解) 60 Pts 对于前面的六十分,好像很好拿,单纯的打一个模拟 唯一需要注意 ...
- 校内题目T2695 桶哥的问题——吃桶
同T2一样外校蒟蒻可能没看过: 题目描述: 题目背景 @桶哥 桶哥的桶没有送完. 题目描述 桶哥的桶没有送完,他还有n个桶.他决定把这些桶吃掉.他的每一个桶两个属性:种类aia_iai和美味值bib ...
- T2695 桶哥的问题——吃桶 题解
校内测试 ------T3 对于这个题,首先想到的应该就是暴力枚举了吧,看看数据范围,60就是白送的啦!(但是我也不知道怎么才20分qwq) 思路分析: 这个题要你求所有套餐的总价值,先看一眼产生套餐 ...
- 洛谷 P2671 求和 解题报告
P2671 求和 题目描述 一条狭长的纸带被均匀划分出了\(n\)个格子,格子编号从\(1\)到\(n\) .每个格子上都染了一种颜色\(color_i\)用\([1,m]\)当中的一个整数表示),并 ...
- 洛谷P2671 求和 [数论]
题目传送门 求和 格式难调,题面就不放了. 分析: $ZYYS$的一道题. 很显然是大力推公式.我们分析一下题目,实际上限制条件就是:下标同奇偶且颜色相同的数,那么我们先拿这个公式$(x+z)*(nu ...
- 洛谷 P2671 求和
题目描述 一条狭长的纸带被均匀划分出了nn个格子,格子编号从11到nn.每个格子上都染了一种颜色color\_icolor_i用[1,m][1,m]当中的一个整数表示),并且写了一个数字number\ ...
- NOIP2015 普及组 洛谷P2671 求和 (数学)
一道数学题...... 采用分组的思想,我们要统计答案的数对满足两个条件:同奇偶,同颜色.所以可以按这两个要求分组. 然后就是分组处理了,对于每组(有k个数),这里面的任意两对数都是满足条件的,可推出 ...
- 校内题目T2691 桶哥的问题——送桶
这是一道校内题目,但迷路的蒟蒻们同样被欢迎来此学习QWQ 题目描述: 题目背景 @桶哥本校——皎月pks大佬OrzOrz 买完了桶,桶哥要去送桶. 题目描述 桶哥买了nn个桶, 他要将这些桶送去nn个 ...
随机推荐
- Python之路-条件控制&循环语句&列表推导式&常用函数
一.什么是条件控制语句 条件控制语句,也可以称之为判断语句,通过一条或多条的执行结果来决定接下来要执行的代码块. 二.if语句 if语句是用来进行判断的,最简答的if语句只有一个判断一个操作. 语法: ...
- JSZip
/*! JSZip - A Javascript class for generating and reading zip files<http://stuartk.com/jszip> ...
- websocket和基于swoole的简易即时通讯
这里描述个基于swoole的websocket 匿名群聊 UI <!DOCTYPE html> <html> <head> <meta charset=&qu ...
- idea旗舰版续命
首先鼓励大家使用正版!我一直用的是免费的社区版,但发现有一些功能被阉割了,比如weblogbic就不支持,无奈现在的项目要用到这个,只能去下载旗舰版. 旗舰版需要付费,作为程序员的我为了一个临时的项目 ...
- 朴素贝叶斯算法——实现新闻分类(Sklearn实现)
1.朴素贝叶斯实现新闻分类的步骤 (1)提供文本文件,即数据集下载 (2)准备数据 将数据集划分为训练集和测试集:使用jieba模块进行分词,词频统计,停用词过滤,文本特征提取,将文本数据向量化 停用 ...
- tomcat日志切割脚本shell
tomcat-rotate.sh: #!/bin/bash log_path="/home/tomcat7-api/logs/"expried_time=7 function de ...
- finalize理论基础
参考: https://blog.csdn.net/aitangyong/article/details/39450341 https://www.infoq.cn/article/jvm-sourc ...
- SNOI2017 礼物
题解 设前\(n\)个人的礼物个数和为\(F_n\), 那么显然\[F_n = 2 \times F_{n-1} + i^k\] 考虑矩阵快速幂 棘手的问题是:\(i^k\)不是可以直接用矩阵乘法可以 ...
- Django登录(含随机生成图片验证码)注册实例
登录,生成随机图片验证码 一.登录 - 随机生成图片验证码 1.随机生成验证码 Python随机生成图片验证码,需要使用PIL模块,安装方式如下: pip3 install pillow 1)创建图片 ...
- CSS3小笔记
border-radius:圆角属性:border-radius:左上,右上,右下,左下.transform:rotate(角度):transparent 透明的三角形的写法设置宽和高为0,设置边框的 ...