这道题,我还以为是什么状压dp(看到dp头就疼)? 我是不是脑瘫了,一开始想过暴搜,就这?最坏时间复杂度跑一遍早就超过1e8了,一秒肯定跑不完,能过?弃了弃了,谁知道题目给了8000ms!!! 什么是问题!这就是问题!!!(郁闷)

题意 :
n个物体,k个种类,每个种类只能取一个,求最大属性值。

思路:
最坏时间复杂度 3^16 *10 *2
证明:k^(n/k),当k=3时最大,T为10,递归回溯过程需要乘2
既然时间够了,直接k层的数据进行搜索,每一层都只含有同一种类的信息,呢么我们只需要搜索出最大的一条链即可

举例:

参考代码:

#include <cstdio>
#include <algorithm>
#include <iostream>
#include <vector>
#include <map>
#include <queue>
#include <set>
#include <ctime>
#include <cstring>
#include <cstdlib>
#include <math.h>
using namespace std;
typedef long long ll;
const int N = 3e5 + 5;
const ll maxn = 1e5 + 5;
struct Node
{ll a, b, c, d;
} p;
vector<Node> vec[65];
ll vis[65];
ll dfs(ll u, ll a, ll b, ll c, ll d, ll now)
{if (u == now + 1){return (100 + a) * (100 + b) * (100 + c) * (100 + d);}ll n = vec[u].size();ll ans = 0;for (ll i = 0; i < n; i++){p = vec[u][i];ans = max(ans, dfs(u + 1, a + p.a, b + p.b, c + p.c, d + p.d, now));}return ans;
}
int main()
{ios::sync_with_stdio(false);cin.tie(0);int t;ll ans = 1;for (int i = 0; i < 16; i++)ans *= 3;cout << ans << endl;cin >> t;while (t--){ll n, k, cnt = 0;cin >> n >> k;for (ll i = 1; i <= n; i++)vec[i].clear(), vis[i] = 0;for (ll i = 0; i < n; i++){ll kind, a, b, c, d;cin >> kind >> a >> b >> c >> d;if (!vis[kind])vis[kind] = ++cnt;vec[vis[kind]].push_back({a, b, c, d});}cout << dfs(1, 0, 0, 0, 0, cnt) << endl;}
}

【2020杭电多校】 Lead of Wisdom 【暴搜】相关推荐

  1. 2020杭电多校第二场 Lead of Wisdom(爆搜)

    Problem Description In an online game, "Lead of Wisdom" is a place where the lucky player ...

  2. 点分治问题 ----------- HDU6881 Tree Cutting or 2020杭电多校第10场 [点分治+思维]

    题目链接 题目大意: 给定nnn个节点的树,问删除尽可能小的点使得树的直径不超过KKK,输出最小删除的点数,(1<=k<=n<=3e5)(1<=k<=n<=3e5) ...

  3. 欧拉降幂 ---- 2020 杭电多校[E - Fibonacci Sum]+欧拉降幂+和式的调整+二次剩余+毒瘤卡常

    解题思路: 首先你得知道斐波那契的通项式子:首先你得知道斐波那契的通项式子:首先你得知道斐波那契的通项式子: F(n)=15[(1+52)n−(1−52)n]F(n) = {1\over\sqrt5} ...

  4. 2020杭电多校(二) New Equipments(最小费用最大流)

    New Equipments 思路 数据已经有提示了b∗b<=4∗a∗cb * b <= 4 * a * cb∗b<=4∗a∗c,这意味着,每一个a,b,ca, b, ca,b,c构 ...

  5. 2020 杭电多校5 1007、1008、1011

    1007 tree (hdu 6820) 题意: 输入 n,kn,kn,k ,给定一棵带权树,包含 nnn 个节点,要求找到一个权重和最大的子树,使得这个子树度数大于 kkk 的节点不超过 111 个 ...

  6. 2020杭电多校第六场 A Very Easy Math Problem 莫比乌斯反演 (HDU 6833)

    A Very Easy Math Problem 题解 ∑ a 1 = 1 n ∑ a 2 = 1 n ⋅ ⋅ ⋅ ∑ a x = 1 n ( ∏ j = 1 x a j k ) f ( g c d ...

  7. 2020杭电多校训练(第一、二场)

    目录 第一场 1005.Fibonacci-Sum 1009.Leading-Robots 1006.Finding-a-MEX 第二场 1012.String-Distance 1005.New-E ...

  8. 2020杭电多校训练(第五、六场)

    目录 第五场 1001.Tetrahedron 1009.Paperfolding 1003.Boring-Game 1012.Set1 1007.Tree 第六场 1006.A-Very-Easy- ...

  9. 2020杭电暑期多校02 10 - Lead of Wisdom (HDU6772) 常数坑

    20200725005909 2020杭电暑期多校02 10 - Lead of Wisdom (HDU6772) 常数坑 如果一直 TLE,就看第三章. 一.题意 物品可能的种类有 kkk 种,编号 ...

最新文章

  1. Qt中的QInputDialog
  2. Coursera-AndrewNg(吴恩达)机器学习笔记——第四周编程作业(多分类与神经网络)...
  3. php如何配置apache服务器,Apache服务器如何配置PHP
  4. 第一周小组博客作业——1701班5组
  5. ajax 直接向后台发送请求,通过ajax异步向后端发送请求,响应请求向前端传送json格式数据的实现思路...
  6. 去哪儿-13-city-vuex
  7. 2017黑色主题 server sql_王智好美,一袭黑色亮片吊带长裙,造型简约大气,时尚优雅...
  8. cocos2d-x 2.0版本 自适应屏幕分辨率 .
  9. SQLite升级数据库:
  10. 福利 | 限时免费体验 Google 官方 Android 课程
  11. matlab pv图,Matlab中imagesc
  12. Python+OpenCV摄像头人脸识别
  13. latex中的对与错(对号与叉号)
  14. 12 序列化器Serializer的使用
  15. Pascal基本教程
  16. 【Git】git checkout
  17. QScrollArea样式设置
  18. 织梦(dedecms)标签大全(非常全面)
  19. 小猪的Python学习之旅 —— 1.基础知识储备
  20. Qlik之的应用备份(.qvf) (六)

热门文章

  1. matlab pde热传导,MATLAB PDE—tool在热传导问题中的应用
  2. 回调函数 - 灵活的函数指针
  3. 矩形脉冲信号得matlab,矩形脉冲信号的频域分析_矩形周期脉冲信号MATLAB实现
  4. 一篇文章搞懂mysql数据库底层数据存储逻及保存数据过程
  5. 大数据平台的分类与选型指南
  6. Swift自定义表情键盘+录音
  7. SecureCRT中文乱码解决方法(6)
  8. 读书笔记-晨间日记的奇迹
  9. 人机博弈-吃跳棋游戏(三)代移动
  10. Android Studio修改sdk以及模拟器路径位置