首页 > 其他分享 >2023.4.12拷逝

2023.4.12拷逝

时间:2023-04-14 20:22:06浏览次数:44  
标签:12 int sum 2023.4 times ans 序列 拷逝 mod

# T1 seq

首先这道题要注意对题意的理解,子序列的意思是子集,而不是子区间。

我们可以将序列从小到大排序。排序后,如果一个子序列只有 $a[i]$ , $a[j]$ $(i<j)$ 和任意多个在 $a[i]$ 和 $a[j]$ 之间的数,那么这个子序列的权值就是 $a[i]\times a[j]$ 。这样的序列有 $2^{j-i-1}$个。

由此可知, $1-i$ 中包含 $i$ 的所有子序列(不包括只有 $a[i]$ 一个数的子序列)的权值和为$(2^{i-2}\times a[1]+2^{i-3}\times a[2]+...+a[i-1])\times a[i]$。令 $sum=2^{i-2}\times a[1]+2^{i-3}\times a[2]+...+a[i-1]$ ,在遍历这个序列的时候,可以通过 $sum=sum\times 2+a[i-1]$ 来更新 $sum$ ,用 $ans=ans+a[i]\times sum$ 来更新 $ans$ 。

$code:$

```cpp
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const long long mod=998244353;
long long p[1000005],n,a[1000005],ans,sum;
int main(){
    freopen("seq.in","r",stdin);
    freopen("seq.out","w",stdout);
    scanf("%lld",&n);
    for(int i=1;i<=n;++i)
        scanf("%lld",&a[i]);
    sort(a+1,a+n+1);
    p[0]=1;
    for(int i=1;i<=n;++i)
        p[i]=p[i-1]*2%mod;
    for(int i=1;i<=n;++i){
        sum=(sum*2%mod+a[i-1]%mod)%mod;
        ans=(ans+a[i]*sum%mod)%mod;
        ans=(ans+a[i]*a[i]%mod)%mod;
    }
    printf("%lld\n",ans);
    fclose(stdin);fclose(stdout);
    return 0;
}
```

# T2 game

图的形态只有两种,一种是初始形态,另一种是边权全部取反的形态,所以可以考虑分层图。


标签:12,int,sum,2023.4,times,ans,序列,拷逝,mod
From: https://www.cnblogs.com/andyl/p/17319839.html

相关文章

  • 2023.4.14
    1.问题描述:设计一个计算器程序,能够进行基本的加、减、乘、除运算。2.设计思路:程序需要输入两个数和一个运算符,根据运算符对两个数进行对应的运算,并输出结果。3.程序流程图:开始->输入第一个数->输入第二个数->输入运算符->根据运算符进行运算->输出结果->结束4.......
  • Educational Codeforces Round 120 (Rated for Div. 2)
    题目链接C核心思路这是一个很好的二分的题目,首先我们判断题目可不可二分,很显然是可以的把。因为假设我们x是可以的话,x+1...肯定也是可以的,但是x-1,x-2....这些又是不可以的。好,接下来思考二分刚开始的左右边界,左边届很好想,关键是右边界。这个其实也不难。因为我们最坏肯定是全......
  • Party at Hali-Bula UVA - 1220
     多判断一个唯一性 only[x][0/1]#include<iostream>#include<cstring>#include<vector>#include<map>#include<algorithm>usingnamespacestd;constintN=205;intf[N][2],n,K;intonly[N][3];vector<int>g[N];map&l......
  • Another Crisis UVA - 12186
      #include<iostream>#include<cstring>#include<vector>#include<algorithm>usingnamespacestd;constintN=1e5+3;intf[N],n,K;vector<int>g[N];voiddfs(intx){ intb[N],tot; tot=0; if(g[x].size()==0)......
  • 2023.4.14每日会议
    昨天做了什么:完成了对listview的item点击弹出详细信息,完成了图片识别微信支付截图录入遇到了那些问题:相机拍的照片太模糊,图片识别识别不出来今天打算做什么:根据用户消费比例给出消费建议,并且做总支付的图以及各项占比 ......
  • 2012-2013 ACM-ICPC, NEERC, Moscow Subregional Contest题解
    题目链接:2012-2013ACM-ICPC,NEERC,MoscowSubregionalContestC.Cinderella(贪心)思路答案为大于平均值的数的数量代码#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;intmain(){ios::sync_with_stdio(false);cin.tie(nullptr);......
  • exynos4412点亮LCD(S702)
    终于使用exynos4412点亮了LCD,记录一下LCD本质上算是一个字符设备,/dev/fbX为对应的文件,供应用层软件编程输出到LCD我是基于linux4.4版本,源码路径:https://github.com/EthanDL-Wang/tiny4412.gitDTS细节如下:1.platformdevice对应的dts1&fimd{2compatible="samsun......
  • NUIST Levoj P1220 皇后摆放问题
    #include<iostream>#include<algorithm>#include<vector>#include<cstring>usingnamespacestd;intchess[9][9];intarr[9][9];intcnt=0,sum=0;boolcheck(introw,intcol){ for(inti=1;i<9;i++)if(chess[i][col])returnfalse; for(inti=......
  • 关于 Angular 12 的 inlineCriticalCss 选项
    inlineCriticalCss是Angular项目中的一个配置选项,用于指定是否将关键CSS内联到页面HTML中。通常情况下,网页中的CSS文件是由浏览器异步加载的,这意味着在浏览器加载完HTML后还需要额外的时间来加载CSS文件,这会导致页面的首次渲染时间较长,用户体验不佳。为了解决这个问......
  • 127.0.0.1 & localhost
    localhost也叫local,正确的解释是:本地服务器127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器)localhot(local)是不经网卡传输!这点很重要,它不受网络防火墙和网卡相关的的限制。127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。一般设置程序时......