当前位置: 首页 > news >正文

整合营销网站建设网站 title 被修改

整合营销网站建设,网站 title 被修改,阿克苏网站建设公司,最好的做法题目背景 NOIP2015 普及组 T3、深入浅出进阶1-5 题目描述 一条狭长的纸带被均匀划分出了 n n n 个格子,格子编号从 1 1 1 到 n n n。每个格子上都染了一种颜色 c o l o r i color_i colori​ 用 [ 1 , m ] [1,m] [1,m] 当中的一个整数表示)&…

题目背景

NOIP2015 普及组 T3、深入浅出进阶1-5

题目描述

一条狭长的纸带被均匀划分出了 n n n 个格子,格子编号从 1 1 1 n n n。每个格子上都染了一种颜色 c o l o r i color_i colori [ 1 , m ] [1,m] [1,m] 当中的一个整数表示),并且写了一个数字 n u m b e r i number_i numberi

编号123456
颜色和数字 5 \color{blue}{5} 5 5 \color{blue}{5} 5 3 \color{red}{3} 3 2 \color{red}{2} 2 2 \color{blue}{2} 2 2 \color{red}{2} 2

定义一种特殊的三元组: ( x , y , z ) (x,y,z) (x,y,z),其中 x , y , z x,y,z x,y,z 都代表纸带上格子的编号,这里的三元组要求满足以下两个条件:

  1. x , y , z x,y,z x,y,z 都是整数, x < y < z , y − x = z − y x<y<z,y-x=z-y x<y<z,yx=zy

  2. c o l o r x = c o l o r z color_x=color_z colorx=colorz

满足上述条件的三元组的分数规定为 ( x + z ) × ( n u m b e r x + n u m b e r z ) (x+z) \times (number_x+number_z) (x+z)×(numberx+numberz)。整个纸带的分数规定为所有满足条件的三元组的分数的和。这个分数可能会很大,你只要输出整个纸带的分数除以 10007 10007 10007 所得的余数即可。

思路:

题目等价于求对于所有满足 x ≡ z ( m o d 2 ) , c o l o r x = c o l o r z x \equiv z(\bmod 2),color_x = color_z xz(mod2)colorx=colorz 的二元组 ( x , z ) (x,z) (x,z) ( x + z ) × ( n u m b e r x + n u m b e r z ) (x+z) \times (number_x+number_z) (x+z)×(numberx+numberz) 数值。容易想到将题目所有输入按照不同颜色和奇数偶数进行处理。

不妨让问题特殊化:假设我们当前要处理 3 3 3 个相同颜色,编号和数字依次为:

编号159
数字 a 1 a_1 a1 a 5 a_5 a5 a 9 a_9 a9

有答案
a n s = ( 1 + 5 ) ( a 1 + a 5 ) + ( 1 + 9 ) ( a 1 + a 9 ) + ( 5 + 9 ) ( a 5 + a 9 ) = ( 2 × 1 + 5 + 9 ) a 1 + ( 2 × 5 + 1 + 9 ) a 5 + ( 2 × 9 + 1 + 5 ) a 9 ans = (1+5)(a_1 + a_5)+(1+9)(a_1+a_9)+(5+9)(a_5+a_9)= (2\times1+5+9)a_1 +(2\times 5+1+9)a_5+(2\times9+1+5)a_9 ans=(1+5)(a1+a5)+(1+9)(a1+a9)+(5+9)(a5+a9)=(2×1+5+9)a1+(2×5+1+9)a5+(2×9+1+5)a9

进一步的,上述式子等于 ( 1 + 5 + 9 ) ( a 1 + a 5 + a 9 ) + ( 1 × a 1 + 5 × a 5 + 9 × a 9 ) (1+5+9)(a_1+a_5+a_9)+(1\times a_1 +5 \times a_5 + 9 \times a_9) (1+5+9)(a1+a5+a9)+(1×a1+5×a5+9×a9)

一般化问题,假设处理 m m m 个同色且都为奇数(偶数)的数字,编号和数字依次为

编号: x 1 , x 2 … x m x_1,x_2 \dots x_m x1,x2xm

数字: a 1 , a 2 … a m a_1,a_2 \dots a_m a1,a2am

a n s = ( a 1 + a 2 ) ( x 1 + x 2 ) + ( a 1 + a 3 ) ( x 1 + x 3 ) ⋯ = a 1 ( x 1 + x 2 + x 1 + x 3 ⋯ + x 1 + x m ) + a 2 ⋯ + a m ( … ) ans = (a_1 + a_2)(x_1+x_2) + (a_1+a_3)(x_1+x_3)\dots=a1(x_1+x_2+x_1+x_3\dots+x_1+x_m)+a2 \dots+a_m(\dots ) ans=(a1+a2)(x1+x2)+(a1+a3)(x1+x3)=a1(x1+x2+x1+x3+x1+xm)+a2+am()

化简,有 a n s = a 1 [ ( m − 1 ) x 1 + ∑ i = 2 m x i ] + a 2 [ ( m − 1 ) x 2 + ∑ i = 1 m x i − x 2 ] ⋯ = a 1 [ ( m − 2 ) x 1 + ∑ i = 1 m x i ] + a 2 ⋯ = ( a 1 + a 2 + a 3 … a m ) ∑ i = 1 m x i + ( m − 2 ) ∑ i = 1 m ( a i x i ) ans = a_1[(m-1)x_1+\sum_{i=2}^{m}{x_i}]+a_2[(m-1)x_2+\sum_{i=1}^{m}{x_i} - x_2]\dots=a_1[(m-2)x_1+\sum_{i=1}^{m}{x_i}]+a_2\dots=(a_1+a_2+a_3\dots a_m)\sum_{i=1}^{m}{x_i} + (m-2)\sum_{i=1}^{m}{(a_ix_i)} ans=a1[(m1)x1+i=2mxi]+a2[(m1)x2+i=1mxix2]=a1[(m2)x1+i=1mxi]+a2=(a1+a2+a3am)i=1mxi+(m2)i=1m(aixi)

最终,可得到以下式子:

a n s = ∑ i = 1 m a i × ∑ j = 1 m x i + ( m − 2 ) × ∑ k = 1 m ( a k x k ) ans = \sum_{i=1}^{m}{a_i} \times \sum_{j=1}^{m}{x_i}+(m-2) \times \sum_{k=1}^{m}{(a_kx_k)} ans=i=1mai×j=1mxi+(m2)×k=1m(akxk)

注意到以上所有式子都能在输入时处理,故本题解决,算法时间复杂度 O ( n + m ) O(n+m) O(n+m)

代码

#include<bits/stdc++.h>
#define int long long
const int p = 10007;
using namespace std;
int n,m;
int num[100005],c[100005];
int s[100005][2],s2[100005][2],s3[100005][2];
int ans = 0;
signed main() {scanf("%lld %lld",&n,&m);for(int i = 1;i <= n;i++) scanf("%lld",&num[i]);for(int i = 1;i <= n;i++) scanf("%lld",&c[i]),s3[c[i]][i % 2]++;//统计这一类的数字数量for(int i = 1;i <= n;i++) {s[c[i]][i % 2] += i;//统计x数列的总和s2[c[i]][i % 2] += num[i];//统计a数列总和if(s3[c[i]][i % 2] >= 2)ans += (s3[c[i]][i % 2] - 2) * num[i] * i;//加上所求式子后面的那一部分ans %= p;}for(int i = 1;i <= m;i++) {for(int j = 0;j <= 1;j++) {if(s3[i][j] <= 1) continue;ans += s[i][j] * s2[i][j];//加上所求式子前面的那一部分ans %= p;}}printf("%lld\n",ans);return 0;
}
http://www.yayakq.cn/news/651955/

相关文章:

  • 企业网站建设需求分析英国做电商网站有哪些方面
  • 公司网站建设 阜阳月嫂网站建设方案
  • 奥远网站建设流程网站换域名seo
  • 金融企业网站源码网站300兆是多少钱
  • 网站建设怎么比较安全沉默是金歌词谐音对照
  • c 网站开发简单实例教程山东省建设厅定额网站
  • 网站变灰是什么事网页版微信登录二维码已失效
  • 网站403错误远洋国际建设有限公司网站
  • 儿童教育网站源码yellow网站推广联盟
  • 手机网站开发流程潞城建设局网站
  • 简述常用的网站开发软件海南建设厅网站资质查询
  • 模板设计模式和田地网站seo
  • 制作网站 太原阿里云如何建立网站
  • 青海网站设计wordpress实现动态功能
  • 酒楼网站模板石家庄 网站开发
  • 网站建设设计视频做网站和谷歌推广一共多少钱
  • 企业建站个人建站源码有限公司注册流程
  • 请描述网站开发的一般流程图网站建设太金手指六六十八
  • 平面设计师个人网站做网站颜色黑色代码多少钱
  • 企业整站推广wordpress导入数据ftp
  • 网站开发 旅游品牌专业建设网站
  • 1688会提供网站建设好口碑的网站制作安装价格
  • WordPress资讯站点源码杭州网站建设培训
  • 自助建站百度登录页面设计代码
  • 网站建设优化推广杭州专门做ui图标的网站
  • 建设网站深圳市有域名了怎么做网站
  • 重庆网站建设软件建站的公司
  • 泗洪住房和城乡建设网站深圳网站建设怎样做
  • 医疗网站是否全部需要前置备案有没有介绍做私家导游的网站
  • 焦作建设企业网站公司php网站管理系统下载