题目传送门

求和

格式难调,题面就不放了。


  分析:

  $ZYYS$的一道题。

  很显然是大力推公式。我们分析一下题目,实际上限制条件就是:下标同奇偶且颜色相同的数,那么我们先拿这个公式$(x+z)*(num_x+num_z)$套三个变量$x,y,z$推一下:

  $(x+z)*(num_x+num_z)=num_x*x+num_z*z+num_x*z+num_z*x$

  $(x+y)*(num_x+num_y)=num_x*x+num_y*y+num_x*y+num_y*x$

  $(z+y)*(num_z+num_y)=num_z*z+num_y*y+num_z*y+num_y*z$

  然后求和得到:

  $tot=num_x*(x+y+z)+num_x*x+num_y*(x+y+z)+num_y*y+num_z*(x+y+z)+num_z*z$

  如果我们把它变成普适公式,就是:(其中的$cnt$表示元素个数)

  $tot=\sum_x (num_x*x*(cnt-2))+\sum_x x*\sum_x num_x$

  当然,这只是同一种颜色在同奇偶的情况下的和,在扩大到全部范围,那就是:

  $ans=\sum_{color}\sum_{i\ mod\ 2}tot$

  $=\sum_{color}\sum_{i\ mod\ 2}(\sum_x (num_x*x*(cnt-2))+\sum_x x*\sum_x num_x)$

  用前缀和优化一下,然后求和就行了。

  代码略丑。

  Code:

  1. //It is made by HolseLee on 23rd Oct 2018
  2. //Luogu.org P2671
  3. #include<cstdio>
  4. #include<cstring>
  5. #include<iostream>
  6. #include<algorithm>
  7. #define mod (10007)
  8. using namespace std;
  9.  
  10. typedef long long ll;
  11. const ll N=1e5+;
  12. ll n,m,a[N],col[N],num[N][],sum[N][],suma[N][],cnt[N][],ans;
  13. //a就是题目中的数值,num是下标和,sum是a[i]*i的和
  14. //suma是a的和,cnt是同奇偶且颜色相同的元素个数
  15.  
  16. int main()
  17. {
  18. ios::sync_with_stdio(false);
  19. cin>>n>>m;
  20. for(ll i=; i<=n; ++i) cin>>a[i];
  21. for(ll i=; i<=n; ++i) cin>>col[i];
  22. for(ll i=; i<=n; ++i) {
  23. (num[col[i]][i&]+=i)%=mod;
  24. (suma[col[i]][i&]+=a[i])%=mod;
  25. cnt[col[i]][i&]++;
  26. (sum[col[i]][i&]+=(a[i]*i%mod))%=mod;
  27. }
  28. for(ll i=; i<=m; ++i)
  29. for(ll j=; j<=; ++j) {
  30. ans=(ans+(suma[i][j]*num[i][j])%mod+(sum[i][j]*(cnt[i][j]-))%mod)%mod;
  31. }
  32. cout<<ans<<'\n';
  33. return ;
  34. }

洛谷P2671 求和 [数论]的更多相关文章

  1. 洛谷 P2671 求和 解题报告

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

  2. 洛谷 P2671 求和

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

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

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

  4. 洛谷P1007 独木桥 [数论]

    题目传送门 独木桥 题目背景 战争已经进入到紧要时间.你是运输小队长,正在率领运输部队向前线运送物资.运输任务像做题一样的无聊.你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在 ...

  5. 【桶哥的问题——吃桶-简化版】【洛谷p2671】求和

    求和=>[链接] 题目相较起_rqy出的要简单很多,来自noip普及组2015 化简这个式子:x+z=2y,故x与z mod 2同余,因此和桶哥的问题——吃桶一样的思路就可以做出来啦qwq: # ...

  6. 洛谷——P1630 求和

    P1630 求和 题目描述 求1^b+2^b+……+a^b的和除以10000的余数. 输入输出格式 输入格式: 第一行包含一个正整数N,表示共有N组测试数据: 接下来N行,每行包含两个正整数a和b. ...

  7. 洛谷P3935 Calculation [数论分块]

    题目传送门 格式难调,题面就不放了. 分析: 实际上这个就是这道题的升级版,没什么可讲的,数论分块搞就是了. Code: //It is made by HolseLee on 18th Jul 20 ...

  8. 洛谷$P5330\ [SNOI2019]$数论 数论

    正解:数论 解题报告: 传送门$QwQ$ ,,,这题还蛮妙的$QwQ$(,,,其实所有数论题对我来说都挺妙的$kk$然后我真的好呆昂我理解了好久$QAQ$ 考虑先建$Q$个点,编号为$[0,Q)$,表 ...

  9. [洛谷2671]求和<前缀和&模拟>

    题目链接:https://www.luogu.org/problemnew/show/P2671 这是noip2015普及组的第三题,谁说的普及组的题就一定水的不行,这道题就比较有意思的 这道题的暴力 ...

随机推荐

  1. 逻辑控制之While循环控制器(While Controller)

    测试环境 apache-jmeter-3.0 1.   添加While Controller 右键线程组->添加->逻辑控制器->响应断言 2.   控制面板介绍 添加后,面板如下 ...

  2. 深入分析tcp close与shutdown

    关闭socket-close 我们知道,tcp是一种支持全双工(full-duplex)通信的的协议,也就是说建立连接的两端可以在同一个时刻发送.接受数据.在需要关闭套接字的时候,我们一般调用: in ...

  3. bzoj 1044 [HAOI2008]木棍分割(二分+贪心,DP+优化)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1044 [题意] n根木棍拼到一起,最多可以切m刀,问切成后最大段的最小值及其方案数. ...

  4. SQL查找数据库中所有没有主键的数据表脚本

    --SQL查找数据库中所有没有主键的数据表脚本 --运行脚本后在消息中可能会显示下面现象中的一种:--(1)数据库中所有数据表都有主键(则证明所有数据表都有主键)--(2)当前数据表[数据表名]没有主 ...

  5. C# Json字符串反序列化

    using DevComponents.DotNetBar; using MyControl; using Newtonsoft.Json; using System; using System.Co ...

  6. [Openwrt 扩展上篇]USB挂载&U盘启动&Samba共享

    最近偷懒,没学习,反想起自己的路由刷了Openwrt,正好闲置了一个硬盘想拿来做个网络硬盘,于是开始了折腾....这里将不谈论如何刷Openwrt,如何ssh,如何添加PPOE,如何添加相对应服务的包 ...

  7. Dream------scala--scala内部类实战

    Dream------scala--scala内部类实战 scala的内部类跟java的内部类有很大的不同,java中的内部类实际上是从属于外部类,而scala的内部类是从属于外部类对象的(及外部类实 ...

  8. Linux SSH Backdoor分析排查

    1.SSH后门分类 SSH后门方式有以下几种 软链接 SSH Server wrapper SSH Keylogger 2.软链接 利用方法 [root@helen]# ln -sf /usr/sbi ...

  9. oracle11g的冷热备份

    1.冷备份 如果数据库可以正常关闭,而且允许关闭足够长的时间,那么就可以采用冷备份(脱机备份),可以是归档冷备份,也可以是非归档冷备份.其方法是首先关闭数据库,然后备份所有的物理文件,包括数据文件.控 ...

  10. Discuz x3.2七牛远程附件设置

    一.DISCUZX2.5/3/3.1云存储通用接口1.1.0beta版本[8.22最新更新] 链接地址:http://www.discuz.net/thread-3399569-1-1.html 本帖 ...