weight(搜索对象的选取)
题目链接:

就是大概这么个东西
根据题意,我们可以清楚的知道:这个题我不会,这个题需要先将2n个数进行排序
这样每对于一个小的前(后)缀和总会在队列最前或队列最后
设这个数为k
那么判断总的Sum(n)-k是否在集合之中就可以啦
当然,如果不在集合之中,我们就要重新的回溯一遍
直到成功
PS:若k既满足于前缀和又满足于后缀和,先放在前面
因为
下放代码:
//weight
#include <bits/stdc++.h> using namespace std; const int N = ;
int n, s[N], m, a[N], t[N], flag, ans[N], all; inline int read()
{
int x = , y = ;
char z = getchar();
while (z < '' || z > '')
{
if (z == '-')
{
y = -;
z = getchar();
}
}
while (z >= '' && x <= '')
{
x = (x << ) + (x << ) + z - '';
z = getchar();
}
} inline void dfs(int l, int r, int now, int sum1, int sum2)
{
if (flag)
return;
if (l == r)
{
int w3 = all - sum1 - sum2;
if (t[w3])
{
ans[l] = w3;
flag = ;
}
return;
}
int w1 = s[now] - sum1;
if (w1 <= && w1 >= && t[w1]) //属于前缀
{
ans[l] = w1;
dfs(l + , r, now + , s[now], sum2);
}
if (flag)
return;
int w2 = s[now] - sum2;
if (w2 <= && w2 >= && t[w2]) //属于后缀
{
ans[r] = w2;
dfs(l, r - , now + , sum1, s[now]);
}
} int main()
{
scanf("%d", &n);
for (int i = ; i <= * n; i++) //前后缀和
scanf("%d", &s[i]);
scanf("%d", &m);
for (int i = ; i <= m; i++)
{
scanf("%d", &a[i]);
t[a[i]] = ;
}
sort(s + , s + * n + );
all = s[ * n];
dfs(, n, , , );
for (int i = ; i <= n; i++)
printf("%d ", ans[i]);
return ;
}
Fixed on 2020.1.7
emmm,这个好像只能拿90Pts(无所谓了,反正思路差不多)
weight(搜索对象的选取)的更多相关文章
- weight (搜索对象的选取)
#10249. 「一本通 1.3 例 5」weight [题目描述] 已知原数列 $a_1,a_2,\cdots,a_n$ 中的前 1项,前 2 项,前3项, $\cdots$ ,前 n 项的和, ...
- (GoRails)在导航栏增加自动的搜索功能(jquery插件:easyautocomplete)(gem 'ransack' 搜索对象4000✨)
Global Autocomplete Search 需要用到一个JQuery插件和一个搜索对象的gem EasyAutocomplete jQuery插件: https://github.com/p ...
- Java List 快速搜索对象
比如现在有一个需求现在有一个List 里面装Student 对象 我们想找出这个List 对象里面student name=小明的对象 我想很多同学会像以前的我一样变量List 然后去比较 但是这样处 ...
- UVa 11846 - Finding Seats Again
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- OpenCV 学习笔记 06 图像检索以及基于图像描述符的搜索
OpenCV 可以检测图像的主要特征,然后提取这些特征,使其成为图像描述符,这些图像特征可作为图像搜索的数据库:此外可以利用关键点将图像拼接 stitch 起来,组成一个更大的图像.如将各照片组成一个 ...
- whoosh----索引|搜索文本类库
先了解基本概念和步骤: Quick Start Whoosh是一个索引文本和搜索文本的类库,他可以为你提供搜索文本的服务,比如如果你在创建一个博客的软件,你可以用whoosh为它添加添加一个搜索功能以 ...
- Vue+Antd搭配百度地图实现搜索定位等功能
前言 最近,在做vue项目的时候有做到选择地址功能,而原项目中又引入了百度地图,所以我就打算通过使用百度地图来实现地址搜索功能啦. 本次教程可能过于啰嗦,所以这里先放上预览地址供大家预览--点我预览, ...
- 写给程序员的机器学习入门 (十) - 对象识别 Faster-RCNN - 识别人脸位置与是否戴口罩
每次看到大数据人脸识别抓逃犯的新闻我都会感叹技术发展的太快了,国家治安水平也越来越好了
- 4,SFDC 管理员篇 - 数据模型 - 基本对象
Setup | Customize | Object Name | Filed 1, 标准字段定义 standard field:系统字段,不能删除,但是能在页面中remove non-requi ...
随机推荐
- html中设置height=100%无效的问题
设置height=100%(网页内容能够更好的适配各种屏幕大小) 第一种是设置某个单独的div元素 height=100%无效 原因很简单,所有基于本分比的尺寸必须基于父元素,而你如果没有设置父元 ...
- go & RabbitMQ
参考 RabbitMQ tutorial - 官方示例 Go code for RabbitMQ tutorials - 官方示例源码 go语言开发RabbitMQ-牛刀小小试试
- 执行npm publish 报错:403 Forbidden - PUT https://registry.npmjs.org/kunmomotest - you must verify your email before publishing a new package: https://www.npmjs.com/email-edit
前言 执行npm publish 报错:403 Forbidden - PUT https://registry.npmjs.org/kunmomotest - you must verify you ...
- luogu P5331 [SNOI2019]通信
传送门 有匹配次数限制,求最小代价,这显然是个费用流的模型.每个点暴力和前面的点连匹配边,边数是\(n^2\)的. 然后发现可以转化成一个set,每次加入一个点,然后入点对set里面的出点连边.这个s ...
- php 爬虫爱奇艺 视频、内容
,][]; ][]; ][]); ][]); ]); ][]; ][]; ][])) { ][]; }][])) { ][]; } ][]; ; ...
- Markov Chain Monte Carlo Simulation using C# and MathNet
Math.Net Numerics has capability to conduct Markov Chair Monte Carlo simulations, yet the document i ...
- 【原】cmdline传递参数 uboot-->kernel-->fs
在uboot中设置bootargs环境变量,在kernel启动后cat /proc/cmdline可以看到bootargs的值. U-boot的环境变量值得注意的有两个: bootcmd 和boota ...
- 2Ubuntu学习
1.设置Ubuntu系统的英文设置成中文 2.root用户密码设置 3.
- MacOS Mojave 安装sshpass
使用sshpass的场景 安装sshpass及各种常见小问题处理 测试 安全提示 使用sshpass的场景 在MacOS下使用ansible命令(inventory文件中使用了密码验证的方式)或者使用 ...
- hdu 1506 单调栈
#include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) #defin ...