求和=>【链接】

题目相较起_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】求和的更多相关文章

  1. T2695 桶哥的问题——吃桶

    ~~~~~我~是~真的~忍不了~这个~取模~的~锅~了~~~~~ T2695 桶哥的问题——吃桶 前传 1.T2686 桶哥的问题——买桶 这题真的hin简单,真的 2.T2691 桶哥的问题——送桶 ...

  2. 【洛谷T2695 桶哥的问题——吃桶】

    这是我们团队的一个题目(就是一个_rqy说很好写的题QwQ) 题目背景 @桶哥 这个题目的思路很玄学(性感_rqy在线讲解) 60 Pts 对于前面的六十分,好像很好拿,单纯的打一个模拟 唯一需要注意 ...

  3. 校内题目T2695 桶哥的问题——吃桶

    同T2一样外校蒟蒻可能没看过: 题目描述: 题目背景 @桶哥 桶哥的桶没有送完. 题目描述 桶哥的桶没有送完,他还有n个桶.他决定把这些桶吃掉.他的每一个桶两个属性:种类aia_iai​和美味值bib ...

  4. T2695 桶哥的问题——吃桶 题解

    校内测试 ------T3 对于这个题,首先想到的应该就是暴力枚举了吧,看看数据范围,60就是白送的啦!(但是我也不知道怎么才20分qwq) 思路分析: 这个题要你求所有套餐的总价值,先看一眼产生套餐 ...

  5. 洛谷 P2671 求和 解题报告

    P2671 求和 题目描述 一条狭长的纸带被均匀划分出了\(n\)个格子,格子编号从\(1\)到\(n\) .每个格子上都染了一种颜色\(color_i\)用\([1,m]\)当中的一个整数表示),并 ...

  6. 洛谷P2671 求和 [数论]

    题目传送门 求和 格式难调,题面就不放了. 分析: $ZYYS$的一道题. 很显然是大力推公式.我们分析一下题目,实际上限制条件就是:下标同奇偶且颜色相同的数,那么我们先拿这个公式$(x+z)*(nu ...

  7. 洛谷 P2671 求和

    题目描述 一条狭长的纸带被均匀划分出了nn个格子,格子编号从11到nn.每个格子上都染了一种颜色color\_icolor_i用[1,m][1,m]当中的一个整数表示),并且写了一个数字number\ ...

  8. NOIP2015 普及组 洛谷P2671 求和 (数学)

    一道数学题...... 采用分组的思想,我们要统计答案的数对满足两个条件:同奇偶,同颜色.所以可以按这两个要求分组. 然后就是分组处理了,对于每组(有k个数),这里面的任意两对数都是满足条件的,可推出 ...

  9. 校内题目T2691 桶哥的问题——送桶

    这是一道校内题目,但迷路的蒟蒻们同样被欢迎来此学习QWQ 题目描述: 题目背景 @桶哥本校——皎月pks大佬OrzOrz 买完了桶,桶哥要去送桶. 题目描述 桶哥买了nn个桶, 他要将这些桶送去nn个 ...

随机推荐

  1. ][mybatis]MyBatis mapper文件中的变量引用方式#{}与${}的差别

    转自https://blog.csdn.net/szwangdf/article/details/26714603 MyBatis mapper文件中的变量引用方式#{}与${}的差别 默认情况下,使 ...

  2. 01. Linux-Kali系统网卡配置

    配置网卡操作: vim /etc/network/interfaces auto eth0iface eth0 inet static 配置eth0使用默认的静态地址address 192.168.1 ...

  3. Kintex 7五兄弟

    基KC705E 增强版 基于FMC接口的Xilinx Kintex-7 FPGA K7 XC7K325T PCIeX8 接口卡(136) 本板卡是Xilinx公司芯片V5系列芯片设计信号处理板卡.由一 ...

  4. hadoop HA架构

    什么是Hadoop? http://hadoop.apache.org/ 解决问题:·海量数据的存储 (HDFS)·海量数据的分析 (MapReduce)·资源管理调度 (YARN) 集群规划:(这里 ...

  5. OGG-00664

    参数SID写错了 GGSCI (t2) > edit param exta extract exta setenv (NLS_LANG=AMERICAN_AMERICA.ZHS16GBK) se ...

  6. cd 切换目录

    1. 功能说明 cd是“change directory”中每个氮气的首字母缩写功能是重当前工作目录切换到指定的工作目录:cd是内建命令. 2. 语法格式 cd  [option]  [dir] cd ...

  7. [python 学习] sys模块

    sys.stdout sys.stdin

  8. Tarjan 复习小结

    总算把这几个东西策清楚了. 在\(Tarjan\)算法里面,有两个时间戳非常重要,一个是\(dfn\),意为深度优先数,即代表访问顺序:一个是\(low\),意为通过反向边能到达的最小\(dfn\), ...

  9. easyui加载json菜单的相关代码

    /** * 取菜单数据 */ $(function getmenujson() { $.ajax({ type: "GET", cache: false, url: "/ ...

  10. Xcode编辑器之快捷键的使用

    一,快捷键图标 图标 键盘 ⌘ Command ⌃ Control ⌥ Option ⇧ Shift 二, 常用快捷键 文件快捷键 快捷键 键盘  描述 ⌘N  command + N 新文件 ⇧⌘N ...