Description

给定一张带权完全图,求一条路径满足

  1. 不重复经过一个点。
  2. 在过点 \(i\) 时,\(1\cdots i - 1\) 要么全访问过,要么都没有访问过。

点数 \(n\) 有 \(1\le n\le 1e3\)

Solution

% 你赛唯一做出来一道题 wwwwwwww QAQ

花了 1h30min 发现自己找的规律不对 QAQ

所以找规律最好还是要写个暴力验证一下(((((


首先这题编号一定是一个单谷序列。

我们考虑从大到小往序列里面加数,单谷序列有下降一段,谷底和上升一段。

从小到大加数,要么放最前面,要么放最后面。

\(pre\) 代表序列第一个数字,\(last\) 代表最后一个数字,\(u\) 代表加入的数字,\(u\) 要么然放最前面,要么然放最后面

代码

#include <iostream>
#include <cstring>
#define MAXN 1541
using namespace std;
int n, d[MAXN + 10][MAXN + 10];
int f[MAXN + 10][MAXN + 10];
int dfs(int u, int pre, int last) {//记忆化搜索 qwq
if(f[pre][last] != -1) return f[pre][last];
if(u == 1) return d[1][pre] + d[1][last];
f[pre][last] = min(d[last][u] + dfs(u - 1, pre, u), d[pre][u] + dfs(u - 1, u, last));
return f[pre][last];
}
int main() {
// freopen("in.txt", "r", stdin);
// freopen("1.txt", "w", stdout);
memset(f, -1, sizeof(f));
cin >> n;
for(int p = 1; p <= n; p++)
for(int i = 1; i <= n; i++)
cin >> d[p][i];
cout << dfs(n, 0, 0) << endl;
}

题解 TSP 但是你有约束的更多相关文章

  1. BZOJ 3436: 小K的农场 差分约束

    题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=3436 题解: 裸的差分约束: 1.a>=b+c  ->  b<=a-c ...

  2. BZOJ-2330-[SCOI2011]糖果(差分约束)

    Description 幼儿园里有N个小朋友,lxhgww老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果.但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的 ...

  3. 【最短路·差分约束】洛谷P1250

    题目描述 一条街的一边有几座房子.因为环保原因居民想要在路边种些树.路边的地区被分割成块,并被编号成1..N.每个部分为一个单位尺寸大小并最多可种一棵树.每个居民想在门前种些树并指定了三个号码B,E, ...

  4. L2 约束的最小二乘学习法

    \[ \begin{align*} &J_{LS}{(\theta)} = \frac { 1 }{ 2 } { \left\| \Phi \theta - y \right\| }^{ 2 ...

  5. 【BZOJ3436】小K的农场 差分约束

    [BZOJ3436]小K的农场 Description 背景 小K是个特么喜欢玩MC的孩纸... 描述 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了, ...

  6. POJ3169:Layout(差分约束)

    Layout Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 15705   Accepted: 7551 题目链接:http ...

  7. hdoj--1384--Intervals(差分约束)

    Intervals Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  8. POJ1201Intervals(差分约束)

    题意 给出数轴上的n个区间[ai,bi],每个区间都是连续的int区间. 现在要在数轴上任意取一堆元素,构成一个元素集合V 要求每个区间[ai,bi]和元素集合V的交集至少有ci不同的元素 求集合V最 ...

  9. ZOJ2770-Burn The Linked Camp(火烧连营Orz 差分约束-线性约束+最长路(OR反向最短路))

    It is well known that, in the period of The Three Empires, Liu Bei, the emperor of the Shu Empire, w ...

  10. CF1450E 资本主义Capitalism(差分约束)

    题面 点此看题 没有永远的朋友,只有永远的利益 在这个黑漆漆的社会上,有 n n n 个布衣百姓,他们在利益驱使下成为金钱的奴隶,看不到属于生活的阳光.在茫茫奔途中,他们相互扶持,结交了有 m m m ...

随机推荐

  1. PostgreSQL函数:查询包含时间分区字段的表,并更新dt分区为最新分区

    一.需求 1.背景 提出新需求后,需要在www环境下进行验收.故需要将www环境脚本每天正常调度 但由于客户库无法连接,ods数据无法每日取,且连不上客户库任务直接报错,不会跑ods之后的任务 故需要 ...

  2. 【Scala】上:学习文档、文章、思维导图

    〇.可查阅资料 1.文档 英文文档:https://tool.oschina.net/apidocs/apidoc?api=scala-docs-2.9.2 与java:https://docs.sc ...

  3. 5V降压转3.3V,5V转3V电路图芯片

    5V降压转3.3V和3V都是低压,两个之间的压差效率,所以效率和工作温度这块都会比较优秀,输入和输出的最低压差外是越小越好. 1, 如果电流比较小,可以用LDO: PW6566 系列是使用 CMOS ...

  4. Qt网络编程-从0到多线程编程

    网络编程开发 1.简介 两个协议,一个是TCP协议,一个是UDP协议 先说TCP: TCP的话,服务器端需要端口监听,直到有客户端进行连接发送过来请求数据,然后客户端根据请求数据进行应答,之后就算tc ...

  5. TypeScript 前端工程最佳实践

    作者:王春雨 前言 随着前端工程化的快速发展, TypeScript 变得越来越受欢迎,它已经成为前端开发人员必备技能. TypeScript 最初是由微软开发并开源的一种编程语言,自2012年10月 ...

  6. MassTransit | 基于StateMachine实现Saga编排式分布式事务

    什么是状态机 状态机作为一种程序开发范例,在实际的应用开发中有很多的应用场景,其中.NET 中的async/await 的核心底层实现就是基于状态机机制.状态机分为两种:有限状态机和无限状态机,本文介 ...

  7. 如何使用Redis和RabbitMQ实现一个学生抢课系统(可类比商品秒杀系统)

    1.如何使用Redis和RabbitMQ实现一个学生抢课系统(可类比商品秒杀系统) 电商项目中的秒杀场景我们都很常见,不只是京东和淘宝现在很多的小程序公众号也有做现时限购的秒杀场景,那么如何做一个秒杀 ...

  8. 《Effective C++》资源管理章节

    Item 13:以对象管理资源 关键的两个想法(这种方式其实在很多地方都可以看出影子,比如managing pool的模型): 1.获得资源后立刻放入管理对象(managing object):以对象 ...

  9. Git + Jenkins 自动化 NGINX 发布简易实现

    概述 之前基于 GitLab + Jenkins 实现了简单的 NGINX 的自动化发布. 具体包含如下的组件: GitLab 包括 GItLab 的 WebHook: Jenkins 及其插件: G ...

  10. 常见非指纹built-in函数

    unescape unescape() _函数_可对通过 escape() 编码的字符串进行解码. unescape("abcdefg") 'abcdefg' unescape(& ...