首页 > 其他分享 >Sol.CF383D

Sol.CF383D

时间:2023-09-12 19:45:09浏览次数:40  
标签:int CF383D cin 如下 Sol 转移

可以看出本题可以使用DP。

可将前 \(i\) 个和为 \(j\) 的方案数表示为 \(f_{i,j}\) ,则每次状态转移需要考虑减 \(a_i\) 或加 \(a_i\)。

显而易见状态转移方程如下:

\(f_{i,j}=f_{i,j}+f_{i-1,j \pm a_i}\)

由于可能有负数,则需要平移。

具体代码如下:

#include<iostream>
using namespace std;
const int M=1000000007;
int n,m,f[1005][20005],ans;
int a[500005];
int main() {
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i];
    for(int i=1;i<=n;i++){
		f[i][10000+a[i]]++;
		f[i][10000-a[i]]++;
        for (int j=0;j<=20000;j++){
			if(j-a[i]>=0){
				f[i][j]=(f[i][j]+f[i-1][j-a[i]])%M;
            }
            if(j+a[i]<=20000){
            	f[i][j]=(f[i][j]+f[i-1][j+a[i]])%M;
			}
        }
	}
    for(int i=1;i<=n;i++)ans=(ans+dp[i][10000])%M;
    printf("%d\n",ans);
    return 0;
}

标签:int,CF383D,cin,如下,Sol,转移
From: https://www.cnblogs.com/JacoAwA/p/CF383D.html

相关文章

  • Sol.CF811B
    题意给定长度为\(n\)的排列,每次选一段区间\([l,r]\)排序,问位置\(x\)上的数在排序前后是否发生了改变。保证\(x\in[l,r]\),共\(q\)次询问。思路可以暴力枚举区间\([l,r]\)内比\(a_x\)小的数,每找到一个\(cnt\)累加一次,最后根据\(l+cnt\)是否等于\(x\)输出代......
  • Sol.CF113C
    前置知识:费马二平方和定理内容如下:除\(2\)以外的素数\(x\)都可以表示成\(x\equiv1\pmod{4}\)或\(x\equiv3\pmod{4}\)。当且仅当素数\(x\)可以表示成\(x\equiv1\pmod{4}\)时,\(x\)为两数平方之和。为了更高效,筛素数时使用欧拉筛,注意到int会爆,所以用bi......
  • Sol.CF1037B
    又是随机跳题跳到的,再来写一篇题解。不难发现又是一道用贪心解决的问题。首先先对序列进行排序。然后发现题目分为以下三种情况(\(mid\)为中位数,当前中位数为\(s\))\(s=mid\)输出特判即可。\(s>mid\)在序列的左边只要找到比\(s\)大的就累加他们的差进答案。\(s<......
  • Sol.UVA10127
    题意:给定\(n\),找到形如\(1111...1111\)的数\(y\),使得\(y\equiv1\modx\),最终输出\(y\)的位数。思路:形如\(1111...1111\)的数可以拆分成\(10...00\times1+10...0\times1+...+10\times1+1\),因此我们可以每次让$y=y\times10+y$,每次判断是否能整除\(......
  • Sol.CF301A
    签到题中夹带着贪心考虑要尽可能把所有数变成正数。若\(n\)为奇数,则一定可以变成全部正数,首先翻出\(n\)个负数,其他的下一次翻完。若\(n\)为偶数,显然定有一个数还是负数,考虑最小的哪个。Accept代码如下:#include<iostream>#include<cmath>#definerep(a,b,c)for(int......
  • Sol.P6192
    Upd:开坑了,等会再补Upd2023/8/24:补完了!!Upd:改了很多遍了,希望管理过审或明确帮忙指出一下到底哪行有问题qwq谢谢题目传送门前置知识:最小斯坦纳树最小斯坦纳树可以理解为升级版的最小生成树。首先给定图\(G=(V,E)\),以及\(V\)的子集\(U\),\(U\)中的点为终端节点。最小斯坦......
  • 提取.NET开发的DLL中的类为json文件工具软件ConsoleApp_Dll_Class2Json_V1.0开源了
    提取.NET开发的DLL中的类为json文件工具软件ConsoleApp_Dll_Class2Json_V1.0开源了同步在github和gitee上面发布。github https://github.com/binghe021/ConsoleApp_Dll_Class2Jsongitee https://gitee.com/binghe021/ConsoleApp_Dll_Class2Json......
  • sol. CF1680F Lenient Vertex Cover
    CF1680FLenientVertexCover下面用\(G\)表示一个环的边集,记作环\(G\)。我们令一个环\(G\)的价值为它经过的返祖边数量,记作\(Z(G)\),下面给出核心结论:若存在一条边\(e_0\)经过所有\(Z(G)=1\)的奇环,且不经过任意一个\(Z(G)=1\)的偶环,那么\(e_0\)经过所有奇环......
  • Springboot项目中pom.xml配置文件无法解析下载oracl数据库解决办法(Cannot resolve com
    网上说是因Oracle的版权问题,导致maven下载不下来ojdbc各个版本的jar包。就会报错Cannotresolvecom.oracle:ojdbc6:11.2.0.1.0 经过一番百度,找到了一个适用的解决方法,如下操作即可:1.在终端或客户端机器上找到oracle安装驱动目录:例如:E:\myorcl\product\11.2.0\dbhome_1\j......
  • solidworks 2023 SP3.0 安装笔记
    参考文献:Crack自带readme.txthttps://mp.weixin.qq.com/s?__biz=Mzk0NjI3ODE4OQ==&mid=2247592805&idx=1&sn=a8af2a6130ebb82972d2e09df555a90b&chksm=c30bb127f47c3831e9a82129098132c06ba8d083f8cbe0085a293874efdd20ff92434d8d1fcc&scene=21#wechat_redir......