- 博客(14)
- 收藏
- 关注
原创 哈夫曼树优先队列
哈夫曼树其实可以视为大顶堆(从大到小的二叉树),从叶到根,分别取优先队列中最小的俩个数进行和值,构成小型二叉树不断循环往上。#include <bits/stdc++.h>using namespace std;string s;int num[30];int bfs(){ int a, b, sum = 0; priority_queue<int, vector<int>, greater<int>> q;//从小到大
2022-05-22 16:52:33
406
原创 组合博弈入门
1.2.3.SG函数SG函数主要求的是NIM游戏的状态转移值是SG函数的结论SG还能解决组合游戏的并(博弈和NIM游戏的结合)SG函数对于组合游戏的并的处理结果
2022-05-16 20:02:20
239
原创 二分匹配的匈牙利算法的dfs实现模板HDU1150 任务分配
//二分匹配匈牙利算法的dfs实现//时间复杂度为O(N);//#include<bits/stdc++.h>using namespace std;const int N=510;int u,v;//a和b的数量int g[N][N],l[N];//邻接矩阵 存右边对象bool used[N];//右点是否访问过bool dfs(int a){ for(int b=0;b<v;b++) { if(g[a][b]&&!used[b...
2022-05-10 17:10:04
264
原创 混合背包模板
#include<bits/stdc++.h>using namespace std;const int INF=0x3f3f3f3f;int main(){ int n,V; cin>>n>>V; int v,w,p;//v是每一组数据的体积 w是每一组数据的价值 p是物品的使用次数 //如果p=-1,则是01背包;如果p=0,则是完全背包,如果p大于0,则是多重背包,大于0的时候p代表该物品的使用次数 ...
2022-04-29 20:37:45
145
原创 洛谷 P1455 搭配购买
输入输出样例输入 #1复制5 3 103 103 103 105 10010 11 33 24 2输出 #1复制1说明/提示对于30\%30%的数据,满足1 \le n \le 1001≤n≤100; 对于50\%50%的数据,满足1 \le n,w \le 10^31≤n,w≤103,1 \le m \le 1001≤m≤100; 对于100\%100%的数据,满足1 \le n \le 10^41≤n≤104,0 \le ...
2022-04-20 21:46:58
135
原创 洛谷P1853 投资的最大效益 题解
题目背景约翰先生获得了一大笔遗产,他暂时还用不上这一笔钱,他决定进行投资以获得更大的效益。银行工作人员向他提供了多种债券,每一种债券都能在固定的投资后,提供稳定的年利息。当然,每一种债券的投资额是不同的,一般来说,投资越大,收益也越大,而且,每一年还可以根据资金总额的增加,更换收益更大的债券。题目描述例如:有如下两种不同的债券:投资额\$4000$4000,年利息\$400$400; 投资额\$3000$3000,年利息\$250$250。初始时,有\$10000$10000...
2022-04-19 16:42:04
653
原创 P1060 [NOIP2006 普及组] 开心的金明(动态规划经典01背包模板)
分析:所问:在不超过总钱数的情况下总和最大,典型的01背包问题。解题思路:该题是一个非常典型的01背包问题:有m件物品和一个容量为n的背包。第i件物品的费用(即体积,下同)是v[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 基本思路:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][j]表示前i件物品(部分或全部)放入一个容量为j的背包可以获得的最大价值。则其动态转移方程为f[i][j]=max{f[i-1][j],f[...
2022-04-14 20:43:39
372
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人