题目链接:https://codeforces.com/contest/1368/problem/A 题意 给出 $a,b$,只可以使用 '+=' 运算符,问至少要使用多少次使得 $a$ 或 $b$ 大于 $n$ 。($1 \le a,b \le n \le 10^9$) 题解 每次让较小的数加上较 ...
分类:
其他好文 时间:
2020-06-19 11:52:04
阅读次数:
44
题目链接:http://poj.org/problem?id=2442 给定一个M*N的矩阵,要求从每一行中都取出一个数然后累加,问最小的N个累积和为多少。使用堆可以在O(MNlogN)时间复杂度内求出。 M行的最大取法一定是通过前M-1行的最大取法+第M行取数然后求前N大获取的,所以有归纳法可以考 ...
分类:
编程语言 时间:
2020-06-18 13:19:12
阅读次数:
67
题目: 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜 ...
分类:
其他好文 时间:
2020-06-18 13:05:17
阅读次数:
45
##题意 $n$头牛,每头牛有一个开始吃草的时间和结束吃草的时间,当两头牛之间存在交点的时候, 这两头牛不能安排在同一个畜栏吃草,求需要的最小畜栏数目和每头牛对应的畜栏方案 贪心步骤: (1)将所有牛按开始吃草的时间排序; (2)用小根堆维护当前所有畜栏的最后一头牛的吃草结束时间; (3)如果当前的 ...
分类:
其他好文 时间:
2020-06-18 12:33:01
阅读次数:
43
题目链接:http://poj.org/problem?id=3764 我们可以在O(32*n)时间内求出一个长度为n的序列中取两个数的最大异或,而树中的异或有如下公式:path[x]=path(root,x) xor path(root,y),所以处理出path(root,i)之后就简化成了 简单 ...
分类:
编程语言 时间:
2020-06-18 10:41:11
阅读次数:
56
题目链接:http://poj.org/problem?id=1961 通过next数组求字符串截止到i位置的最小循环节以及循环次数,可以在O(N)时间内得出,通过这个方法可以求得字符串的任意长度的循环节。 代码如下: #include<iostream> #include<cstdio> usin ...
分类:
编程语言 时间:
2020-06-17 18:07:49
阅读次数:
51
有 $n$ 个元素,每个元素有个序号和一个值,一个元素可以选择当且尽当其序号与已选元素序号的异或和不为$0$,求你可选择的元素值和的最大值。 ...
分类:
其他好文 时间:
2020-06-17 12:41:55
阅读次数:
51
题目链接:http://poj.org/problem?id=2559 典型问题,就是有一个地方要注意,用数组模拟栈的时候要判断栈是否为空才能弹出元素,否则的话,设置一个st[0]=-1,这样矩形高度是0的时候就会自动判断栈空。 代码如下: #include<iostream> #include<c ...
分类:
编程语言 时间:
2020-06-17 10:56:19
阅读次数:
54
暴力法计算所有可能的交易组合相对应的利润,并找出它们其中的最大利润。Python3class Solution: def maxProfit(self, prices: List[int]) -> int: return self.calculate(prices, 0) def calculate... ...
分类:
其他好文 时间:
2020-06-16 23:27:59
阅读次数:
60
「解题报告」[luoguP6584]重拳出击 (贪心).md 传送门 题面 题意 有一颗大小为 \(n\) 的边权为 $1$ 的无根树, 树上有 \(m\) 个 Youyou. 初始时, 小 Z 在 \(x\) 号节点上. 每一回合, 小 Z 可以杀死所有与它距离小于等于 \(k\) 的 Youyo ...
分类:
其他好文 时间:
2020-06-16 23:15:38
阅读次数:
79