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 ...
随机推荐
- Luogu P1084 [NOIP2012]疫情控制
题目 首先我们二分一下答案. 然后我们用倍增让军队往上跳,最多先跳到根的子节点. 如果当前军队可以到达根节点,那么记录一下它的编号和它到达根节点后还可以走的时间. 并且我们记录根节点的叶子节点上到根节 ...
- electron实现qq快捷登录!
之前本来想不写这个功能的,结果客户死活要qq登录! 实在没办法就写了,顺便写个文章!在写之前有两个问题:1: 打开qq授权页面点击页面中的链接会又打开一个页面! .....2: 授权之后是否成功很难去 ...
- 通过编写串口助手工具学习MFC过程——(七)添加Tab Control控件
通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...
- [UWP]CompositionLinearGradientBrush加BlendEffect,双倍的快乐
原文:[UWP]CompositionLinearGradientBrush加BlendEffect,双倍的快乐 1. 什么是BlendEffect# 上一篇文章介绍了CompositionLinea ...
- Java 关于SpringbootJPA分页及排序
创建Pageable对象 看了网上很多博客,都是在用 new PageRequest的方法创建Pageable对象.可是估计很多同学写了之后才发现原来这个方法作者已经标记为过时了: 替代的方法是不要n ...
- (架构)React Native 导出项目全局共用组件的模块
自定义组件全局使用(类似如下) import { ReactNavComponent, Widget, Util } from 'rn-yunxi'; const { RegexpUtil, Stor ...
- 使用Medusa美杜莎暴力破解SSH密码
使用Medusa美杜莎暴力破解SSH密码 1.Medusa简介 Medusa(美杜莎)是一个速度快,支持大规模并行,模块化的爆力破解工具.可以同时对多个主机,用户或密码执行强力测试.Medusa和hy ...
- 002-printf 命令用法
printf 命令的用法,大部分结合awk命令使用 是格式化的输出的命令 %s 输入字符串 \n 换行 \t \r 回车键 [root@zabbix lianxi]# printf %s [root@ ...
- 3Linux - 常用 Linux 命令的基本使用
常用 Linux 命令的基本使用 转自 目标 理解学习 Linux 终端命令的原因 常用 Linux 命令体验 01. 学习 Linux 终端命令的原因 Linux 刚面世时并没有图形界面,所有的操作 ...
- 牛客假日团队赛5 F 随机数 BZOJ 1662: [Usaco2006 Nov]Round Numbers 圆环数 (dfs记忆化搜索的数位DP)
链接:https://ac.nowcoder.com/acm/contest/984/F 来源:牛客网 随机数 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6 ...