摘要:
题意一些精灵住在一棵二叉搜索树上(???),给出一个序列表示这棵二叉搜索树(输入n个数的第一个数为根节点,第二个数和这个根节点比较大小,假如大于当前根节点的值,就往右边的节点走,小于往左边的节点走),现在邮递员要给他们送信,求送信每次走的方向。思路题目太长了... 阅读全文
摘要:
题意给出一个数组 求这个数组的逆序数思路分治(nlogn):将问题划分为规模更小的子问题,递归地解决划分后的子问题,再将结果合并。 考虑将数组a划分为两半得到b和c,于是a中的逆序对必然有三种情况: ①i,j都属于数列B的逆序对(i,j); ②i,j都属于数... 阅读全文
摘要:
题意给出N个队伍标号为1-N 现给出一些队伍的胜负关系,比如 p1, p2表示 p1战胜了p2 求一个排名,要求输出时编号小的队伍在前。 数据保证不会有环思路拓扑排序:每次找入度==0的点, 将这个点和从它发射的边删掉。在常规的拓扑排序中,若找不到这样的点说... 阅读全文
摘要:
题意给出一些单词,再给出一些前缀,求有多少个单词包含这个前缀。思路用map统计水过。赛后意外的发现自己的代码跑了900+ms,为什么这么多人才跑了60+ms (滑稽) 更好的算法是用Tire树(字典树)操作,查询前缀出现的次数,就开一个sum[],表示位置i... 阅读全文
摘要:
题意给出n个敌兵阵营的人数,给出一些操作命令: (1) Add i j , 第i个营地增加j个人 (2)Sub i j , 第i个营地减少j个人(j不超过30); (3)Query i j , 询问第i到第j个营地的总人数; (4)End 表示结束思... 阅读全文
摘要:
题意一个长为L ( L 3 3 4(3) => 6 4(9) => 10(19) 1 2 3 4 => 1 5 4(5) => 1 9(14) => 10(24) 1 2 3 4 => 1 2 7(7) => 3 7(10) => 10(20) ... 阅读全文
摘要:
题意给出一个长为n的数组a,给出m个质询,每个质询给出一个数字,需要找到序列a中所有连续子序列的异或结果中与质询数字差的绝对值最小的一个,输出最长的这种连续子序列的长度思路异或前缀和+暴力 我们知道一个数异或自己即抵消异或效果 比如a^b^a = b , a... 阅读全文
摘要:
题意做汉堡 先给出一个字符串表示每个汉堡的做法(B:bread, S:sausage, C:cheese) 给出三个值表示BSC分别有多少存货 给出三个值表示商店中BSC分别多少钱一份 给出一个值表示店主现在有多少卢布 问最多能做多少汉堡思路二分搜索 但是中... 阅读全文
摘要:
题意n间屋,m头牛,使得牛跟牛之间的距离最远,防止牛打架思路类似的最大化最小值或者最小化最大值的问题,通常用二分搜索法就可以很好地解决。 solve(d): 可以安排牛的位置使得最近的两头牛距离不小于d 那么问题就变成了求满足solve(d)的最大的d 另外... 阅读全文
摘要:
题意(多组输入)给出两段文字, 输出最长公共子序列思路DFS回溯输出最长公共子序列AC代码#include #include #include #include #include #include #include #include using namesp... 阅读全文