logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

P1080 国王游戏(c++)

题目:题意:找出获得最高赏金的大臣每一个大臣获得的赏金=国王的左手 *前面所有大臣的左手乘积/自己的右手于是这里可以自然的想到贪心:尽可能让前面所有人的乘积更小,而自己的右手又尽可能地大,让每一个都这么排序后,找出其中获得最高赏金的大臣(由于本题需要使用高精度,我这里使用了c++的重载运算符)贪心思想:借用以下一位大佬的文章交换论证显然符合这个问题#include <iostream>

#c++#开发语言#后端
有负边的最短路算法(bellman-ford,spfa)

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

#算法
牛客月赛44 B顽皮恶魔(枚举)

坑点: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

#蓝桥杯#c++
P1090 合并果子

1.堆排序(1)手写最小堆(2) multisetmultiset包含在stl库中的<set>头文件中,运用这个头文件就可以获得堆的效果,由于set是不会有重复单元的,而multiset可以有重复的元素,能够时刻保持集合中的元素是有序的,这样子就更加符合题意#include <iostream>#include <algorithm>#include <c

#排序算法#算法
到底了