2016多校联赛6H (hdu5800) To My Girlfriend

Screenshot_2026-11-04-16-26-45-46.jpg 立即下载


To My Girlfriend

Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 346    Accepted Submission(s): 126


Problem Description
Dear Guo

I never forget the moment I met with you.You carefully asked me: "I have a very difficult problem. Can you teach me?".I replied with a smile, "of course"."I have n items, their weight was a[i]",you said,"Let's define f(i,j,k,l,m) to be the number of the subset of the weight of n items was m in total and has No.i and No.j items without No.k and No.l items.""And then," I asked.You said:"I want to know
∑i=1n∑j=1n∑k=1n∑l=1n∑m=1sf(i,j,k,l,m)(i,j,k,laredifferent)


Sincerely yours,
Liao
 

Input
The first line of input contains an integer T (T≤15)  indicating the number of test cases.
Each case contains 2 integers  n ,  s   (4≤n≤1000,1≤s≤1000) . The next line contains n numbers:  a1,a2,…,an   (1≤ai≤1000) .
 

Output
Each case print the only number — the number of her would modulo  109+7  (both Liao and Guo like the number).

 

Sample Input
  
2 4 4 1 2 3 4 4 4 1 2 3 4
 

Sample Output
  
8 8
 

Author
UESTC
 

Source
 

Recommend
wange2014   |   We have carefully selected several similar problems for you:   5803  5802  5801  5799  5798 
题意:给你n个数,求:


∑i=1n∑j=1n∑k=1n∑l=1n∑m=1sf(i,j,k,l,m)(i,j,k,laredifferent)

i,j为必选数的序号,k,l为必不选数的序号,m是背包体积。

正常人一开始的思维一开始应该都是直接n^3解决,但是时间复杂度太高,所以会去想怎么优化。我也是一样的,后来我想到了只需要再开两维来表示必不选和必选时间复杂度就变成了n^2*4,虽然思路我是想到了但是因为一个小错误赛时一直a不过去,后来看题解思路也跟我一样,然后对比其他人的代码,几乎都是一样的,为什么自己就过不了呢?额,这个小错误我就不说了心累,下面说一下动态转移方程。

很明显就只有4种情况,选,不选,必选,必不选,所以dp[i][j][k][l]=dp[i-1][j-a[i]][k][l]+dp[i-1][j][k][l]+dp[i-1][j-a[i]][k-1][l]+dp[i-1][j][k][l-1];

剩下还有一个问题就是i和j交换,k和l交换也是可以的所以最后结果要乘4。下面给代码。

#include<iostream>   
#include<cstring>  
#include<cstdio> 
#include<algorithm>
#include<string>
#include<queue>
#include<cmath>
#include<set>
using namespace std;
#define maxn 1005
#define MOD 1000000007
typedef long long LL;
int dp[maxn][maxn][3][3];
int main() {
	int t;
	scanf("%d", &t);
	while (t--) {
		int n, s;
		scanf("%d%d", &n, &s);
		int a[maxn];
		memset(dp, 0, sizeof(dp));
		for (int i = 1; i <= n; i++) {
			scanf("%d", &a[i]);
		}
		dp[0][0][0][0] = 1;
		for (int i = 1; i <= n; i++) {
			for (int j = 0; j <= s; j++) {
				for (int k = 0; k <= 2; k++) {
					for (int l =0; l <= 2; l++) {
						dp[i][j][k][l] += dp[i - 1][j][k][l];
						dp[i][j][k][l] %= MOD;
						if (j - a[i] >= 0){
							dp[i][j][k][l] += dp[i - 1][j-a[i]][k][l];
							dp[i][j][k][l] %= MOD;
							if (k){
								dp[i][j][k][l] += dp[i - 1][j - a[i]][k - 1][l];
								dp[i][j][k][l] %= MOD;
							}
						}
						if (l){
							dp[i][j][k][l] += dp[i - 1][j][k][l - 1];
							dp[i][j][k][l] %= MOD;
						}
						/*if (dp[i][j][k][l]) {
							cout << i << " " << j << " " << k << " " << l <<" "<< dp[i][j][k][l]<< endl;
						}*/
					}
				}
			}
		}
		LL sum = 0;
		for (int i = 1; i <= s; i++) {
			sum += dp[n][i][2][2];
			sum %= MOD;
		}
		printf("%lld\n", (sum<<2)%MOD);
	}
}


互联网 Java 工程师进阶知识完全扫盲:涵盖高并发、分布式、高可用、微服务、海量数据处理等领域知识 立即下载

相关推荐

【动态多智能体系统的通信感知编队控制】一种新颖的通信感知编队控制策略,用于动态多智能体系统研究(Matlab代码、Python代码实现)

内容概要:文档名为《Plecs全桥LLC谐振变换器仿真模型.txt》,但其内容并未深入介绍Plecs环境下全桥LLC谐振变换器的具体建模与仿真过程,而是呈现为一份涵盖多领域科研主题的资源列表。文档内容广泛涉及多智能体系统控制、无人机路径规划、电力电子变换器、状态估计、信号处理、优化算法等研究方向,并多次提及Matlab/Simulink、Python等工具的代码实现。整体来看,该文档更像是一份科研项目目录或技术资源索引,重点推介了包括LLC谐振变换器在内的多种控制系统与电力电子仿真模型,但对标题所述核心内容缺乏详尽的技术描述与实现细节。; 适合人群:电力电子、自动化、控制工程、信号处理及多智能体系统等相关领域的研究生、科研人员与工程技术人员。; 使用场景及目标:①为科研工作者提供跨学科的技术方向参考与研究选题灵感;②获取电力系统、无人机控制、信号处理等领域成熟的Matlab/Simulink或Python仿真代码资源,用于算法验证与模型复现。; 阅读建议:建议将此文档作为科研资源导航目录使用,读者可根据自身研究方向筛选感兴趣的主题,并通过文中提供的公众号或网盘链接获取完整的代码、仿真模型与配套资料进行深入学习与实践。

No Girlfriend(简单题)

1、http://acm.nbut.edu.cn/Contest/view/id/68/problem/C.xhtml 2、题目大意 情人节将至,有n个人分别跟自己喜欢的人约会,给出每个人约会的人编号,如果带走其中一个人,那么喜欢这个人的那些人将会不开心,现在你要带走一个人,使得不开心的人数最多 简单题,不过太心急了,没有注意好边界就提交,导致wrong了两遍才AC 3、题目: [C

sdjzping的专栏 906

产业园区运营负责人如何提升企业技术需求与科研资源的精准匹配效率?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

ACM2016多校联赛1B hdu5724 Chess(博弈)

感谢围巾师兄,不然完全想不到。 Chess Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1006    Accepted Submission(s): 439 Problem Description

overload1997 1万+

别再手动配电脑了!手把手教你用Windows Server 2022搭建企业AD域(附DNS配置避坑指南)

本文详细介绍了如何使用Windows Server 2022搭建企业AD域,提升20+终端的管理效率。通过实战案例和避坑指南,解析AD域的核心价值、部署步骤及DNS配置技巧,帮助企业实现集中权限管理、安全策略统一部署,显著降低IT运维成本。

weixin_30652897的博客 349

香橙派5Max + Realsense D435i + Fast-Drone-250:手把手教你搭建一个完整的无人机视觉开发环境

本文详细介绍了如何利用香橙派5Max、Realsense D435i深度相机和Fast-Drone-250项目搭建完整的无人机视觉开发环境。从硬件连接到ROS配置,再到项目部署与性能优化,提供全栈式实战指南,助力开发者快速实现SLAM算法验证和自主导航功能开发。

weixin_30879169的博客 463

hdu 6035 Colorful Tree

Colorful Tree Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 182    Accepted Submission(s): 46 Problem Description There is a tr

overload1997 1983

Excel COUNTIF函数精确统计全解析:从模糊匹配到精准计数

在数据处理与办公自动化领域,条件计数是数据分析的基础操作,其核心原理在于对特定范围内满足设定条件的单元格进行识别与汇总。Excel中的COUNTIF函数是实现这一功能的常用工具,它通过文本匹配逻辑与通配符机制来执行条件判断。然而,其默认的模糊匹配行为常导致统计结果偏离预期,这正是精确统计的技术价值所在——确保数据汇总的准确性与可靠性,直接影响业务报告、薪酬核算、销售分析等应用场景的决策质量。本文聚焦COUNTIF函数的精确匹配技巧,深入剖析通配符(如星号*和问号?)的转义使用(通过波浪号~),并针对大小写敏

weixin_29040367的博客 356

hdu 6166 Senior Pan 最短路

Senior Pan Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 179    Accepted Submission(s): 45 Problem Description Senior Pan fail

overload1997 1778

常见信号逻辑电平标准介绍:TTL、CMOS、ECL、LVDS、CML

逻辑电平是指数字信号电压的高、低电平,相关参数定义如下:(1)输入高电平门限Vih:保证逻辑门的输入为高电平时所允许的最小输入高电平,当输入电平高于Vih时,则认为输入电平为高电平;(2)输入低电平门限Vil:保证逻辑门的输入为低电平时所允许的最大输入低电平,当输入电平低于Vil时,则认为输入电平为低电平;(3)输出高电平门限Voh:保证逻辑门的输出为高电平时的输出电平的最小值,逻辑门的输出为高电平时的电平值都必须大于此Voh;

liuchj的博客 1万+

R语言实战:5分钟搞定NHANES数据库的加权分析与可视化(附完整代码)

本文提供了一份R语言实战指南,帮助研究者在5分钟内完成NHANES数据库的加权分析与可视化。通过详细的代码示例,涵盖数据获取、清洗、加权分析和可视化全流程,特别适合公共卫生和流行病学研究者快速掌握复杂抽样数据的处理方法。

www00的博客 255

hdu 6086 Rikka with String ac自动机+dp

Rikka with String Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 210    Accepted Submission(s): 58 Problem Description As we know,

overload1997 1218

【雷达仿真 | FMCW TDMA-MIMO毫米波雷达信号处理仿真(可修改为DDMA-MIMO)】

1、FMCW叫做调频连续波,调频连续波有步进调频连续波(SFMCW)、线性调频连续波(LFMCW),以及其他非线性调频连续波。LFMCW有锯齿波和三角波等等;锯齿波有恒定调制周期的锯齿波和非恒定周期的锯齿波。Introduction to mmwave sensing:FMCW radars.pdf和The fundamentals of millimeter wave sensors。2、MIMO是多输入多输出(Multiple input Multiple output),也就是多发多收。

【调皮连续波】雷达技术领域知识博主 1万+

hdu 6058 Kanade's sum

Kanade's sum Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 516    Accepted Submission(s): 182 Problem Description Give you an arr

overload1997 1115

激光雷达与相机时间戳同步:原理、触发方案与工程实现

目录一、引言:时间不同步,多传感器融合必出问题二、核心原理:相机成像机制与触发模式(同步的基础)2.1 相机成像的两个核心阶段:曝光与读出(1)非交叠曝光(2)交叠曝光2.2 相机触发模式:内触发 vs 外触发(1)内触发(2)外触发2.3 关键信号:Strobe信号与预输出(同步的核心技巧)三、三种主流时间戳同步方案(工程落地首选)3.1 方案一:统一硬触发(精度最高,高端场景首选)核心原理核心配置要点优缺点适用场景3.2 方案二:软触发+硬触发(Strobe预输出,车载量产首选)核心原理核心配置要点优缺

getusushu的博客 200

RKNN 端侧部署必看:YOLOv11 Pose 姿态估计模型转换与性能优化实战

随着人工智能技术在边缘计算领域的快速发展,姿态估计作为计算机视觉的重要分支,在智能监控、人机交互、体感游戏等场景中展现出巨大的应用潜力。本文深入研究了YOLOv11 Pose模型在Rockchip RKNN平台上的部署方案,从理论基础、模型转换、平台优化到实际部署进行了全面阐述。通过详细的技术分析和实验验证,证明了RKNN平台能够有效提升YOLOv11 Pose的推理性能,在RK3588硬件平台上实现了高达100 FPS的实时姿态检测,为边缘计算场景下的姿态估计应用提供了高效的解决方案。

m0_71589036的博客 183

2016多校联赛4E (hdu5768) Lucky7

Lucky7 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 318    Accepted Submission(s): 127 Problem Description When ?? was born, sev

overload1997 1058

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

hdu 6171 Admiral 双向bfs+hash

Admiral Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 153428/153428 K (Java/Others) Total Submission(s): 206    Accepted Submission(s): 54 Problem Description Suppose that you ar

overload1997 978

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

2016多校联赛4L (hdu5775) Bubble Sort

Bubble Sort Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 224    Accepted Submission(s): 147 Problem Description P is a permutati

overload1997 888

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

hdu 6070 Dirt Ratio

Dirt Ratio Time Limit: 18000/9000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Others) Total Submission(s): 384    Accepted Submission(s): 120 Special Judge Problem Description I

overload1997 827

hdu 6102 GCDispower 树状数组+容斥

GCDispower Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 175    Accepted Submission(s): 87 Problem Description There is a myster

overload1997 674

ZZULIOJ 多校训练三

链接http://acm.zzuli.edu.cn/zzuliacm/contestrank.php?cid=1159 今天没事陪着群里的大佬们做题。 最后一题的数据不按题目输入,害我又RE又WA,比赛玩换成cin输入1A了。。 A题:有毒。。重点是这句话(重光:233,窝一个t就出来了。)  我还CE,输出2,3...错了几波。。答案是输出1就可以了。这水的。。 B题(水题):用

overload1997 620

2016多校联赛6B (hdu5794) A Simple Chess

A Simple Chess Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1057    Accepted Submission(s): 280 Problem Description There is a n

overload1997 618

ACM2016多校联赛1A Abandoned country

题目链接//http://acm.hdu.edu.cn/contests/contest_showproblem.php?cid=704&pid=1001 Abandoned country Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submiss

overload1997 603

hdu 6097 Mindis (反演点)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6097 题目大意:给你圆内两个点P、Q,求圆上一点D,使得 |QD|+|PD|最短 在此之前我们先了解一下反演点的知识,参照百度百科: 一般指二维反演中的点。 二维上反演以一个特定的反演圆为基础:圆心O为反演中心,圆半径为常数k,把点P反演为点P'就是使得OP×OP'=r^2.

overload1997 591
上一篇: hdu4280 Island Transport (网络流最大流)&(dinic算法模板)
下一篇: 2016多校联赛6B (hdu5794) A Simple Chess
overload1997
博客等级 码龄11年 328粉丝 210原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值