
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
题目:题意:找出获得最高赏金的大臣每一个大臣获得的赏金=国王的左手 *前面所有大臣的左手乘积/自己的右手于是这里可以自然的想到贪心:尽可能让前面所有人的乘积更小,而自己的右手又尽可能地大,让每一个都这么排序后,找出其中获得最高赏金的大臣(由于本题需要使用高精度,我这里使用了c++的重载运算符)贪心思想:借用以下一位大佬的文章交换论证显然符合这个问题#include <iostream>
1.bellman-ford算法#include <iostream>#include <algorithm>#include <cstring>using namespace std;const int N = 505, M = 10010;struct Edge{int from;int to;int cost;}edge[M];int dist[N];co
坑点:memset一定会重新染色整个数组,时间复杂度一定是O(10^6),太慢了,本题可以不用memset,所以就不要染色#include <iostream>#include <algorithm>using namespace std;const int N=1005;char a[N][N];int n,m;void dye(int x,int y){for(int
1.堆排序(1)手写最小堆(2) multisetmultiset包含在stl库中的<set>头文件中,运用这个头文件就可以获得堆的效果,由于set是不会有重复单元的,而multiset可以有重复的元素,能够时刻保持集合中的元素是有序的,这样子就更加符合题意#include <iostream>#include <algorithm>#include <c







