贪心,二叉树搜索,ZOJ(2315)】的更多相关文章

TypeScript方式实现源码 // 二叉树与二叉树搜索 class Node { key; left; right; constructor(key) { this.key = key; this.left = null; this.right = null; } } class BinarySearchTree { root = null; public insert(key) { let newNode = new Node(key); if (this.root === null) {…
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1315 解题报告: #include <stdio.h> #include <string.h> struct Point { int pr; int vis; } points[+]; +]; int n; int main() { int t; scanf("%d",&t); while(t--) { scanf(&quo…
题意:给定一个数字n,最多可以交换其两个数位k次,求交换后的最大值与最小值,最小值不能有前导0 n,k<=1e9 思路: 当k>=n的位数时只需要无脑排序 k<n时有一个显然的贪心是从高位到低位,如果当前位置不是可取的最值的话就从比现在低的位置挑一个最值换上来 问题在于可能有多个低位上的数字相同,而且这个问题没有正确的贪心策略 所以只能记录下它们的位置,依次搜索 搜索最小值时第一位不能是0 #include<cstdio> #include<cstring> #i…
New Year Bonus Grant Time Limit: 5000ms Memory Limit: 32768KB This problem will be judged on ZJU. Original ID: 231564-bit integer IO format: %lld      Java class name: Main Special Judge     All programmers of Mocrosoft software company are organized…
Problem Description 判断两序列是否为同一二叉搜索树序列 Input 开始一个数n,(1<=n<=20) 表示有n个需要判断,n= 0 的时候输入结束.接下去一行是一个序列,序列长度小于10,包含(0~9)的数字,没有重复数字,根据这个序列可以构造出一颗二叉搜索树.接下去的n行有n个序列,每个序列格式跟第一个序列一样,请判断这两个序列是否能组成同一颗二叉搜索树. Output 如果序列相同则输出YES,否则输出NO Sample Input 2 567432 543267 5…
开始算法基础学习的第一天 今天学习的内容是三分搜索 相对来说很基础的内容(还是觉得脑子不够用) 三分搜索主要用于凸函数查找极大值. (盗个图) 如图所示 若要查找该函数的最大值 可以考虑和二分法一样的思路,即用L,R两个端点去不断地逼近这个最大点 但是在这里仅用一个mid中值是不够的 因此添加了一个mmid = (mid+R)/2 判断函数在mid和mmid两点的大小就可以进一步判断极值存在于哪一段中 用一个便于理解的办法,我们分成以下两种情况来讨论: 1.mid,mmid在最大值的同一侧:这时…
个人心得:10月份月赛题目,很low,就过了一道水题而且是把所有猜测都提交才过的.这段时间不知道忙什么去了, 也没怎么刷题感觉自己越来越差,还不如新来的大一学弟呢,别人起码天天刷代码到半夜,比起刚在区域赛拿银的学长们, 溜了溜了.慢慢磨练吧. 题目心得:这题意思很简单,就是用最多的硬币去负款,我比赛时是从正面开始的,发现自己low一是这样麻烦而且漏洞多, 后面看了题解他是从后面开始的. 要用尽量多的硬币凑P元钱,假设我现在硬币总共的面值和为M,那么换个思路,我现在要从总共的硬币中拿走尽量少的硬币…
LINK:T2 这题感觉很套路 但是不会写. 区间操作 显然直接使用dp不太行 直接爆搜也不太行复杂度太高. 容易想到差分 由于使得整个序列都为0 那么第一个数也要i差分前一个数 强行加一个0 然后 显然让差分序列变成0即可. 每次可以单点修改两个位置的值 也可以当前和最后一个数后面那个数做 其实相当于单独做 表示后缀全体的事情. 0显然没有任何贡献了 考虑怎么做才是最优的. 当时没有证明 直接猜了一个结论是 每次操作比然会使一个位置上的值变成0. (当时以为假了 结果时当时没有想清楚 自闭..…
Description "Hike on a Graph" is a game that is played on a board on which an undirected graph is drawn. The graph is complete and has all loops, i.e. for any two locations there is exactly one arrow between them. The arrows are coloured. There…
---恢复内容开始--- http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1315 这个题目比较难以看懂,我也是看网上的题目意思才看懂的,大题意思就是关于钱的分配: 一个公司只有一个老板,到了年终的时候,要分钱,分钱有三种限制(老板不可以分红) 一.每个员工可以让的下属拿奖金,可以等待拿自己上司给自己的奖金.也可以什么都不做. 二.每个员工只可以自己拿钱或者给下属分钱,只能选择一样 三.每个员工只能给自己的一个下属分钱: 案例…