![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
爱吃虾的小松树
sdu萌新
展开
-
# 7-29 修理牧场 (最小堆)(25 分)
7-29 修理牧场 (最小堆)(25 分) 农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数Li 个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是Li 的总和。 但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等于所锯木头的长度。例如,要将长度为20的木头锯成长度为8、7和5的三段,第一次锯木头花费20,将木头锯成12和8;第二次锯木头花费12,将长度为12的木头锯成7和5,总花费为32。如果第一次将木头锯成15原创 2021-02-24 18:17:01 · 82 阅读 · 0 评论 -
# 7-25 朋友圈 (并查集)(25 分)
7-25 朋友圈 (并查集)(25 分) 某学校有N个学生,形成M个俱乐部。每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈。一个学生可以同时属于若干个不同的俱乐部。根据“我的朋友的朋友也是我的朋友”这个推论可以得出,如果A和B是朋友,且B和C是朋友,则A和C也是朋友。请编写程序计算最大朋友圈中有多少人。 输入格式: 输入的第一行包含两个正整数N(≤30000)和M(≤1000),分别代表学校的学生总数和俱乐部的个数。后面的M行每行按以下格式给出1个俱乐部的信息,其中学生从1~N编号: 第i个俱乐部原创 2021-02-24 15:43:37 · 94 阅读 · 0 评论 -
c++各种函数用法(待更新)
c++各种函数用法(待更新)stringsetvector string 1.find() #include<Bits/stdc++.h> using namespace std; int main() { string s = "abcdef"; if(s.find("def") != string::npos)//yes cout << "yes"; else cout << "no"; return 0; } set 1.find() #i原创 2021-01-30 23:36:28 · 231 阅读 · 0 评论 -
# AT1894 総和(暴力,前缀和)
AT1894 総和(暴力,前缀和) 输入两个整数n,k; 给出一个长度为N的数列a[1]-a[n]. 求这个数列中所有长度为K的连续的部分的总和 输入输出样例 输入 #1复制 5 3 1 2 4 8 16 输出 #1复制 49 输入 #2复制 20 10 100000000 100000000 98667799 100000000 100000000 100000000 100000000 99986657 100000000 100000000 100000000 100000000 10000000原创 2021-01-22 23:33:43 · 185 阅读 · 0 评论