
算法
爱吃虾的小松树
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 · 131 阅读 · 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 · 130 阅读 · 0 评论 -
c++各种函数用法(待更新)
c++各种函数用法(待更新)stringsetvectorstring1.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; } set1.find()#i原创 2021-01-30 23:36:28 · 287 阅读 · 0 评论 -
# AT1894 総和(暴力,前缀和)
AT1894 総和(暴力,前缀和)输入两个整数n,k;给出一个长度为N的数列a[1]-a[n].求这个数列中所有长度为K的连续的部分的总和输入输出样例输入 #1复制5 31 2 4 8 16输出 #1复制49输入 #2复制20 10100000000 100000000 98667799 100000000 100000000 100000000 100000000 99986657 100000000 100000000 100000000 100000000 10000000原创 2021-01-22 23:33:43 · 249 阅读 · 0 评论