基本思想: 自己想到了贪心区间里面进行区间排序的思想; 但是还有一种更简单的,直接进行构建一个标记数组,然后按个数进行标记即可; 关键点: 注意区间包含问题; #include<stdio.h> #include<stdlib.h> #include<iostream> #include<strin ...
分类:
其他好文 时间:
2020-03-03 20:27:07
阅读次数:
65
美丽数组 题目 小明是个普通的计算机本科生,很喜欢研究数组相关的问题。在他的认知里,美丽的数组是这样的,对于一个长度为n的数组a,存在一个下标i(10)的操作,问能否通过若干次操作使得这个数组变得美丽。 输入格式: 第一行输入数组长度n (1≤n≤3 1e5), 第二行输入n个整数a1,…,an ( ...
分类:
编程语言 时间:
2020-03-03 11:09:38
阅读次数:
138
DIV2A 只有第一个人独有的才对他有实际意义,其它的分数均视作1即可。 ...
分类:
其他好文 时间:
2020-03-03 01:00:45
阅读次数:
82
"Link" 题意: 有 $a,b,c$ 三堆石头,现在有个操作 操作一:从 $a$ 中拿一块石头,从 $b$ 中拿两块石头 操作二:从 $b$ 中拿一块石头,从 $c$ 中拿两块石头 问最多拿几块石头 思路: 贪心 两种操作收益都是 $3$ 且都会消耗 $b$ 操作 $2$ 对 $b$ 消耗较小 ...
分类:
其他好文 时间:
2020-03-02 23:00:16
阅读次数:
68
? 重点:dijkstra算法按层计算其余点到源点的最短距离,层层扩展。 1. dijkstra算法 求解目标:找到图中源点到其余点的最短距离,是单源点最短距离算法。 整体思路:每一步都寻找到与源点 最近的点 ,层层扩展,是贪心算法。 具体实现: 输入:给定一个图的邻接表M,源点u。 辅助变量:存储 ...
分类:
编程语言 时间:
2020-03-02 22:25:27
阅读次数:
86
有一个 $n \times m$ 的矩形巧克力,沿着第 $i$ 条横线切一次代价为 $a_i$,沿着第 $i$ 条竖线切一次代价为 $b_i$,求切割完的最小代价。 Solution 显然对于相同方向的,我们会先切大的再切小的 对于不同类型的,设已经横切 $x$ 次,纵切 $y$ 次,那么先切横的代 ...
分类:
其他好文 时间:
2020-03-02 00:36:25
阅读次数:
54
1.查找问题: 二分查找: 例题:使用map解决查找问题 代码: #include <bits/stdc++.h> using namespace std; //查找学生信息 struct Student{ string name; string sex; int age; string id; } ...
分类:
其他好文 时间:
2020-03-01 14:07:43
阅读次数:
59
题意:有n个学生 要求组成k个小组 每个小组中两两差值不得超过5 可以有学生不被编入组中 求最多可以有多少个学生被编入组中 n,k<=1e5 题解: 考虑dp[i][j],i为前i个学生,j为分了几组的最大人数,不选第i个人,dp[i][j]=dp[i-1][j], 选第i个人,贪心的选择距离a[i ...
分类:
其他好文 时间:
2020-03-01 12:15:41
阅读次数:
68
基本思想: 想到贪心,但是觉得时间复杂度太高,结果一不小心写出来个更复杂的贪心; 关键点: 注意特殊用例,有可能无法遍历出正确结果,即没有切换得到正确的值,此时要避免进入死循环; #include<iostream> #include<vector> #include<algorithm> #inc ...
分类:
编程语言 时间:
2020-02-29 22:38:32
阅读次数:
73
T1 假如max(a)<0的话直接把所有的a排个序贪心选择大的尽量多 现在考虑一个正的ai对后面的影响 维护一个大根堆,a<0就往里添,a>=0就去抵消堆顶元素 这样新序列(堆里的元素)就可以像刚才那样做了 T2 先把点按权值从大到小排序 然后枚举那个点可以选也可以不选 前面的都已经选了 然后在当前 ...
分类:
其他好文 时间:
2020-02-29 22:08:02
阅读次数:
60