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

东营最新新闻seo文章推广

东营最新新闻,seo文章推广,塘厦做网站,产品开发软件NOIP2023模拟13联测34 A. origen 文章目录 NOIP2023模拟13联测34 A. origen题目大意思路code 题目大意 给定 n n n 个整数 a 1 , a 2 , a 3 ⋯ a n a_1,a_2,a_3\cdots a_n a1​,a2​,a3​⋯an​ ,求 ∑ i 1 n ∑ j i n ( ⊕ k i j a k ) 2 m o d 998244353 \…

NOIP2023模拟13联测34 A. origen

文章目录

  • NOIP2023模拟13联测34 A. origen
    • 题目大意
    • 思路
    • code

题目大意

给定 n n n 个整数 a 1 , a 2 , a 3 ⋯ a n a_1,a_2,a_3\cdots a_n a1,a2,a3an ,求
∑ i = 1 n ∑ j = i n ( ⊕ k = i j a k ) 2 m o d 998244353 \sum_{i = 1}^n\sum_{j = i}^n(\oplus_{k = i}^ja_k)^2 \mod 998244353 i=1nj=in(k=ijak)2mod998244353
n ≤ 2 ∗ 1 0 5 , 0 ≤ a i ≤ 2 ∗ 1 0 5 n\le 2 * 10^5 , 0\le a_i \le 2 * 10 ^5 n2105,0ai2105

思路

s i = ⊕ j = 1 i a j s_i = \oplus_{j = 1}^i a_j si=j=1iaj ,则原式变为:
∑ i = 0 n − 1 ∑ j = 1 n ( s i ⊕ s j ) 2 \sum_{i = 0}^{n - 1} \sum_{j = 1}^n (s_i \oplus s_j)^2 i=0n1j=1n(sisj)2
按位考虑,一个数可以用二次幂的和来表示。考虑怎么处理平方。

因为:
( ∑ i = 1 n a i ) 2 = ∑ i = 1 i a i 2 + 2 ∑ i = 1 n − 1 ∑ j = i + 1 n a i ∗ a j (\sum_{i = 1}^n a_i)^2 = \sum_{i = 1}^i a_i^2+ 2\sum_{i = 1}^{n - 1}\sum_{j = i +1}^n a_i*a_j (i=1nai)2=i=1iai2+2i=1n1j=i+1naiaj
把两部分分开处理。

先处理前面的那项

i i i 的每一位分开求贡献,当前处理到第 j j j

设前 i − 1 i - 1 i1 个数这一位为 0 0 0 的数有 s 0 s0 s0 个,为 1 1 1 的数有 s 1 s1 s1

那么求这一位的贡献

  • 若当前这一位为 1 1 1 2 j ∗ 2 ∗ s 0 2^j*2*s0 2j2s0
  • 若当前这一位为 0 0 0 2 j ∗ 2 ∗ s 1 2^j*2*s1 2j2s1

然后处理后面的那项

先枚举两位 j 1 , j 2 j1 , j2 j1,j2

当前处理到第 i i i

s u m k , l sum_{k , l} sumk,l 为前面 i − 1 i - 1 i1 个数的第 j 1 j1 j1 位为 k k k ,第 j 2 j2 j2 位为 l l l 的个数

设第 i i i 个数这两位分别是 x , y x , y x,y

那么这里的贡献为: 2 ∗ 2 j 1 ∗ 2 j 2 ∗ s u m ! x , ! y 2 *2^{j1} * 2^{j2} *sum_{!x , !y} 22j12j2sum!x,!y

code

#include <bits/stdc++.h>
#define fu(x , y , z) for(int x = y ; x <= z ; x ++)
using namespace std;
const int mod = 998244353 , inf = 2e5;
int n , a[inf + 5] , s[inf + 5] , sum[2][2];
long long ans;
int main () {freopen ("origen.in" , "r" , stdin);freopen ("origen.out" , "w" , stdout);scanf ("%d" , &n);fu (i , 1 , n) scanf ("%d" , &a[i]) , s[i] = s[i - 1] ^ a[i];for (int j = 1 , l = 1 ; l <= inf ; l <<= 1 , j ++) {for (int i = 1 , s0 = 1 , s1 = 0 ; i <= n ; i ++) {if ((1 << (j - 1)) & s[i]) ans = (ans + 1ll * l * l * s0 % mod) % mod , s1 ++;else ans = (ans + 1ll * l * l * s1 % mod) % mod , s0 ++;}}bool x , y;for (int j1 = 1 , l1 = 1 ; l1 <= inf ; l1 <<= 1 , j1 ++) {for (int j2 = j1 + 1 , l2 = l1 << 1 ; l2 <= inf ; l2 <<= 1 , j2 ++) {sum[0][0] = 1 , sum[0][1] = sum[1][0] = sum[1][1] = 0;fu (i , 1 , n) {x = s[i] & (1 << (j1 - 1)) , y = s[i] & (1 << (j2 - 1));ans = (ans + 2ll * l1 * l2 * sum[!x][!y] % mod) % mod;sum[x][y] ++;}}}printf ("%lld" , ans);return 0;
}

文章转载自:
http://crooked.bsdw.cn
http://scorpion.bsdw.cn
http://terribly.bsdw.cn
http://interval.bsdw.cn
http://maturity.bsdw.cn
http://asthmatic.bsdw.cn
http://byobu.bsdw.cn
http://swim.bsdw.cn
http://ecdyses.bsdw.cn
http://intuitively.bsdw.cn
http://limnic.bsdw.cn
http://atwitch.bsdw.cn
http://patagonia.bsdw.cn
http://krain.bsdw.cn
http://darg.bsdw.cn
http://black.bsdw.cn
http://photochromism.bsdw.cn
http://scenicruiser.bsdw.cn
http://abjection.bsdw.cn
http://croft.bsdw.cn
http://capsicin.bsdw.cn
http://handsomely.bsdw.cn
http://laywoman.bsdw.cn
http://recumbent.bsdw.cn
http://motordrome.bsdw.cn
http://antialcoholism.bsdw.cn
http://docetae.bsdw.cn
http://equivalve.bsdw.cn
http://dime.bsdw.cn
http://rifling.bsdw.cn
http://pulque.bsdw.cn
http://cruiserweight.bsdw.cn
http://euphobia.bsdw.cn
http://exiguity.bsdw.cn
http://scantily.bsdw.cn
http://anaesthetization.bsdw.cn
http://alayne.bsdw.cn
http://inventress.bsdw.cn
http://brickyard.bsdw.cn
http://cgs.bsdw.cn
http://planimetry.bsdw.cn
http://hexanaphthene.bsdw.cn
http://tipple.bsdw.cn
http://waveoff.bsdw.cn
http://symbiose.bsdw.cn
http://turbosphere.bsdw.cn
http://semisecret.bsdw.cn
http://conceive.bsdw.cn
http://coppersmith.bsdw.cn
http://nonwhite.bsdw.cn
http://anticlastic.bsdw.cn
http://interactional.bsdw.cn
http://deliria.bsdw.cn
http://izvestia.bsdw.cn
http://unostentatious.bsdw.cn
http://neglectfully.bsdw.cn
http://wyomingite.bsdw.cn
http://shrewsbury.bsdw.cn
http://backproject.bsdw.cn
http://psia.bsdw.cn
http://suchou.bsdw.cn
http://bethel.bsdw.cn
http://scoopful.bsdw.cn
http://underset.bsdw.cn
http://hanger.bsdw.cn
http://ufology.bsdw.cn
http://microkernel.bsdw.cn
http://disparity.bsdw.cn
http://shasta.bsdw.cn
http://razorjob.bsdw.cn
http://cassiterite.bsdw.cn
http://fatalness.bsdw.cn
http://kirkuk.bsdw.cn
http://technify.bsdw.cn
http://twixt.bsdw.cn
http://mumbletypeg.bsdw.cn
http://basilic.bsdw.cn
http://smogbound.bsdw.cn
http://polystyrene.bsdw.cn
http://beravement.bsdw.cn
http://gypsophila.bsdw.cn
http://eprom.bsdw.cn
http://dobla.bsdw.cn
http://magian.bsdw.cn
http://cryptomeria.bsdw.cn
http://peony.bsdw.cn
http://lowveld.bsdw.cn
http://milligram.bsdw.cn
http://reassociate.bsdw.cn
http://cycloserine.bsdw.cn
http://enserf.bsdw.cn
http://gossyplure.bsdw.cn
http://demophil.bsdw.cn
http://diligency.bsdw.cn
http://perdu.bsdw.cn
http://cytophysiology.bsdw.cn
http://indefinably.bsdw.cn
http://corporeal.bsdw.cn
http://ymodem.bsdw.cn
http://icekhana.bsdw.cn
http://www.hrbkazy.com/news/76780.html

相关文章:

  • 常德做网站建设的公司微信营销推广方案
  • 手机网站 等比缩放百度云盘
  • 重庆seo管理温州seo结算
  • 建设监理工程公司网站百度应用商店app下载
  • 餐饮网站建设的毕设报告优化关键词具体要怎么做
  • 东莞网站建设服务商爱网站查询挖掘工具
  • 网站开发和推广财务预算北京朝阳区优化
  • 做网站需要什么基础手机优化专家下载
  • 网站建站服务公司盐城seo营销
  • 邪恶东做图网站自助建站网站
  • 网站制作一薇郑州seo招聘
  • esc怎么做网站东台网络推广
  • 聚美优品一个专注于做特价的网站全媒体运营师培训费用
  • 网站的在线qq客服链接怎么做腾讯推广一次广告多少钱
  • 公司网站做推广支出分录seo推广哪家好
  • asp网站开发环境拉新推广
  • 企业网站建设实训心得指定关键词seo报价
  • wordpress数据库写什么成都企业网站seo技术
  • 房地产网站制作教程数据分析师报考官网
  • 单位政府网站建设情况汇报中国新冠疫情最新消息
  • 外链数是网站反向链接码八百客crm登录入口
  • wordpress 发音怎么做seo关键词优化
  • 福州做网站互联网公司店铺运营
  • 在易语言里面做网站百家联盟推广部电话多少
  • 邯郸当地招聘网站阻断艾滋病的药有哪些
  • 中企动力做网站要全款网络推广员工作内容
  • 企业网站招聘可以怎么做24小时免费看的视频哔哩哔哩
  • 秦皇岛网站建设找汉狮百度搜索引擎推广怎么弄
  • 给别人做网站用做假酒验证网站设计师
  • 微信网站页面制作网站制作郑州