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万+

RV1106的ISP配置实战:MIPI与LVDS接口的硬件连接与设备树优化

本文详细解析了RV1106芯片的ISP配置实战,重点对比了MIPI CSI-2与LVDS两种主流接口的硬件连接方案与数据流差异。通过手把手的设备树代码示例,深入讲解了单路MIPI与双路LVDS摄像头的配置要点、关键属性设置及常见避坑指南,并提供了从驱动加载检查到Media Controller工具使用的系统化调试方法,帮助开发者快速打通图像采集与处理全链路。

terraform7cloud的博客 471

无线图像传输新突破:深度JSCC算法在低带宽环境下的性能实测

本文深入探讨了基于深度学习的信源信道联合编码(JSCC)算法在低带宽无线图像传输中的突破性表现。通过实测数据对比,深度JSCC在低信噪比环境下展现出卓越的鲁棒性,有效对抗传统方案的“悬崖效应”,实现图像质量的平滑下降,为远程医疗、工业巡检等严苛场景提供了新的解决方案。

weixin_29090089的博客 505

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

2024东南大学533复试C++程序设计笔试真题精讲

【东南553复试C++】2024东南大学533复试C++程序设计笔试真题精讲

转遍世界 3415

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

基于springboot生鲜食品订购系统的设计与实现

近年来互联网络的迅猛发展和电子终端设备的普及,赋予了各行业充足的发展空间。微信小程序的O2O生鲜食品订购相比于传统信息技术,时效性是它最大的特色,已经在电子娱乐、经济等中发挥着举足轻重的作用。短时间内迅速扩大了线上管理系统的规模。尽管O2O生鲜食品订购已经有了很大程度的发展,但在微信小程序的O2O生鲜食品订购领域上却少有建设。

1024

基于STM32F103标准库与DMA的实时音频FFT频谱显示系统设计

本文详细介绍了基于STM32F103芯片与DMA技术实现实时音频FFT频谱显示系统的设计方法。通过标准库驱动和FFT算法处理音频信号,结合OLED显示屏实时绘制音乐频谱,涵盖硬件选型、核心原理、开发环境搭建及性能优化等关键步骤,为数字信号处理应用提供实用参考。

yellow的专栏 777

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

实战详细讲解Qt插件plugin的编写与用法

qt插件的开发,可以说是动态库的开发,因为调用方式类似,多熟悉一下,利用Qt框架开发很简单的。在想想这种调用过程有的熟悉,比如公司买了一堆摄像头,公司要对摄像头进行二次开发,实现自己想要的功能,集成到一套设备里去,然后在卖给用户。此时厂商肯定会提供开发文档,并给你SDK包(软件开发工具包), 包里你会发现只有头文件和一堆库文件,没有源文件,因为实现的过程是产商公司保密的,给你看还得了。所以都封装成了库的形式给你调用,如静态库或者动态库。

qq_44667165的博客 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

RK3588 C++ MeloTTS 推理

本文介绍了基于RK3588平台和RKNN工具链实现的端侧语音合成(TTS)系统。该系统支持中英文混合输入处理,通过自动合并英文单词、转换标点符号等方式预处理文本,并将其转换为音素和声调序列。核心推理流程包含编码器、中间处理和解码器三个阶段:编码器将音素序列转为隐藏状态,中间处理调节音调和语速,解码器生成最终波形。代码示例展示了输入数据设置和模型推理过程,利用RK3588内置NPU实现高效语音合成。该系统展现了在边缘计算设备上实现复杂AI任务的能力。

J。 200

n8n AI高效工作流自动化 部署使用教程

摘要: n8n是一款开源可视化工作流自动化工具,结合AI能力可高效解决重复性任务。文章详细介绍了从Docker部署到实战应用的完整流程:1)通过Docker Compose自托管n8n,确保数据可控;2)以AI客服日报机器人为例,演示如何串联工单系统、ChatGPT和邮件通知,实现定时自动化;3)进阶搭建交互式AI助手,利用ToolsAgent节点调用业务API;4)整合向量数据库构建RAG知识库问答。关键建议包括:拆分复杂工作流、严格管理凭据、区分开发与生产环境,并建议从高频刚性需求(如日报生成)切入,逐

专注AI大模型,软件混淆,授权 267

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

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

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

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

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

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

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、付费专栏及课程。

余额充值