题目: 给定一个整数序列··有两个操作: add x,表示序列中加入x mid 表示询问这个序列的中位数 原始序列数量n<=100000,操作数m<=10000 题解: 这道题可以直接用权值线段树做···先离散化一下就行·· 然而最快的方法是用优先队列··将先开始序列排序后分成左右两部分···左边用大根堆褚岑··右边用小根堆储存··在操作的时候维护即可·· 代码: #include<iostream> #include<cstdio> #include<cstdl…
Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as the Hamming weight). For example, the 32-bit integer ’11' has binary representation 00000000000000000000000000001011, so the function should retu…
题目: 题目描述 企鹅国正在举办全面运动会,第一项比赛就是跑步.N 个人在圆形跑道上跑步,他们都有各自的速度和起点.但这个跑步规则很奇怪,当两个人相遇的时候编号较小的就会出局,当场上剩下最后一个人的时候跑步就结束了.豆豆想知道多长时间游戏会结束? 输入格式 第一行一个整数 T 表示数据组数:每组数据的第一行是两个整数 N 和 L ,表示参赛人数以及跑道长度.接下来一行有 N 个不同的整数 Di,表示每个人的起点.接下来一行有 N 个不同的整数 Vi,表示每个人的跑步速度,如果速度为负数,就是在反…
题目: 题目背景 OURCE:NOIP2015-SHY-7 题目描述 求一棵带边权的树的一条最大 Xor 路径的值.这里的“路径”不一定从根到叶子结点,中间一段路径只要满足条件也可以. 输入格式 第一行,一个整数 N ,表示一颗树有 N 个节点,接下来 N-1 行,每行三个整数 a,b,c 表示节点 a 和节点 b 之间有条权值为 c 的边. 输出格式 输出仅一行,即所求的最大值. 样例数据 1 输入 [复制] 4 1 2 3 1 3 4 1 4 7 输出 7 备注 [数据范围]对 40% 的输…
题目: 题目描述 给定 2 个正整数序列 A1, A2,序列长度分别为 L1, L2.你可以进行以下的一次操作:1. 选择两个数 K1,K2(1≤K1≤L1, 1≤K2≤L2):2. 移去 A1 中最后 K1 个数,得到这 K1 个数的和 S1,L1 对应减少 K1:3. 移去 A2 中最后 K2 个数,得到这 K2 个数的和 S2,L2 对应减少 K2:此次操作的费用为:(S1-K1) * (S2-K2).进行以上操作直至两个序列都为空,求最小的费用总和.注意:序列为空当且仅当两个序列同时为空…
题目: 题目背景 SCOI2007 DAY1 T3 题目描述 在一个 r 行 c 列的网格地图中有一些高度不同的石柱,一些石柱上站着一些蜥蜴,你的任务是让尽量多的蜥蜴逃到边界外.每行每列中相邻石柱的距离为 1 ,蜥蜴的跳跃距离是 d ,即蜥蜴可以跳到平面距离不超过 d 的任何一个石柱上.石柱都不稳定,每次当蜥蜴跳跃时,所离开的石柱高度减 1(如果仍然落在地图内部,则到达的石柱高度不变),如果该石柱原来高度为 1 ,则蜥蜴离开后消失.以后其他蜥蜴不能落脚.任何时刻不能有两只蜥蜴在同一个石柱上. 输…
题目: 题目描述 学校实行学分制.每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分.学校开设了 N(N<300)门的选修课程,每个学生可选课程的数量 M 是给定的.学生选修了这M门课并考核通过就能获得相应的学分.在选修课程中,有些课程可以直接选修,有些课程需要一定的基础知识,必须在选了其它的一些课程的基础上才能选修.例如<Frontpage>必须在选修了<Windows操作基础>之后才能选修.我们称<Windows操作基础>是<Frontpage…
题目: 国家探险队长 Jack 意外弄到了一份秦始皇的藏宝图,于是,探险队一行人便踏上寻宝之旅,去寻找传说中的宝藏. 藏宝点分布在森林的各处,每个点有一个值,表示藏宝的价值.它们之间由一些小路相连,小路不会形成环,即两个藏宝点之间有且仅有一条道路.探险队从其中的一点出发,每次他们可以留一个人在此点开采宝藏,也可以不留,然后其余的人可以分成若干队向这一点相邻的点走去.需要注意的是,如果他们把队伍分成两队或两队以上,就必须留一个人在当前点,提供联络和通讯,当然这个人也可以一边开采此地的宝藏.并且,为…
题目: 给定n个小的字符串T和一个大的字符串S,先输出T总共再S中出现了多少次 然后q个询问···每次修改S上的一个字母,然后再次输出上述答案··· n小于1000,q<200000,T的总长度和S的长度都小于100000: 题解: 我们可以发现,每次修改位置P,那么S影响的范围只有在P-MAX到P+MAX的范围,其中MAX为T的最长长度····所以将这一范围的S跑一边AC自动机··然后更新答案即可·· 这道题也让我发现我做AC自动机以来一直有的一个不好的习惯··每次求出现次数都是暴力跳fail…
题目: 题目背景 SOURCE:NOIP2015-SHY-5 题目描述 假设现在离 noip 还有 m 天,有 n 个人要去参加比赛.他们每个人都有一个预定的训练量 r[i] ,所以每一天他们都抓紧时间练习.但是由于条件限制,第 i 天只有 t[i] 的时间可以练习. 我们都知道,一个人在开始干活以前总要浪费一些时间做一些杂七杂八的事情.现在我们假定第 i 个人每天在训练前浪费的时间是固定的,记为 d[i] .这段浪费掉的时间过后,选手会专心致志训练,他们会充分利用剩下的时间.然而一个可能的情况…
题目: 题目背景 SOURCE:NOIP2015-SHY-9 题目描述 Alice 与 Bob 在玩游戏.他们一共玩了 t 轮游戏.游戏中,他们分别获得了 n 个和 m 个小球.每个球上有一个分数.每个人的得分都为他所获得所有小球分数的乘积,分数小者获胜.问每轮游戏谁会获胜?请输出每轮游戏的胜者.数据保证不会出现平局,且两个人分数差异大于任意一个人分数的 1% . 输入格式 第一行为两人玩的轮数 t(1≤t≤10).每一轮游戏的输入中:第一行一个整数 n,代表 Alice 获得球的个数.第二行为…
题目: 题解: o(n)复杂度扫一遍再用一个stack维护就可以了·····mdzz这道题都不会做·· 代码: #include<iostream> #include<cstdio> #include<cstdlib> #include<cmath> #include<ctime> #include<cctype> #include<string> #include<cstring> #include<a…
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4046 访问. 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明:你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 输入: [2,2,1] 输出: 1 输入: [4,1,2,1,2] 输出: 4 Given a non-empty array of integers, every elem…
接下来要滚去bzoj刷usaco的题目辣=v=在博客记录一下刷题情况,以及存一存代码咯.加油! 1.[bzoj1597][Usaco2008 Mar]土地购买 #include<cstdio> #include<algorithm> #include<cstring> using namespace std; ; int n,cnt,q[N]; long long x[N],y[N],f[N]; struct node{long long x,y;}a[N]; bool…
本文仅以个人经历和个人观点作为参考.如能受益,不胜荣幸. 本文会不断的修正,更新.希望通过大家的互动最后能写出一份阅者受益的文章. 本文纯手打,会有错别字,欢迎指出,虚心接受及时更改. 小马过河,大牛觉得轻松,松鼠觉得可怕. 湾区求职经验分享:我是如何通过三个月努力拿到Google offer,欢迎踊跃提问! 有朋友指出“三个月”是不是哗众取宠博取眼球.其实我确实是实话实说(详见下文)三个月.我只是想分享如何高效的做题,让大家少走弯路.那些刷五遍十遍的朋友,在我看来是走了弯路的,如果大家都能一两…
1.面试题43. 1-n整数中1出现的次数 输入一个整数 n ,求1-n这n个整数的十进制表示中1出现的次数. 例如,输入12,1-12这些整数中包含1 的数字有1.10.11和12,1一共出现了5次. 这个题目的核心思想是考虑:每个位是任意数字时,可以包含多少个这个位为1的数字 分了三种情况 class Solution { public int countDigitOne(int n) { //digit表示位因子,就是10.100.1000... long digit=1; int cou…
大四狗找工作,要刷题了,leetcode上面题目比较适合面试算法类题目,也不纯粹为了蒙题,锻炼一下面试类型的思维 Single Number: 有N个数,其中只有一个数出现了一次,其他都是两次,找出那个数 把所有数求一下异或 Maximum Depth of Binary Tree: 求树的最大深度 递归遍历一遍 Same Tree: 给两个树的根节点,看两棵树是否相同 两棵树同时遍历一遍 Reverse Integer: 输出这个数倒过来的数 注意负数情况,模拟一下即可 Best Time t…
写在前面:因为要准备面试,开始了在[LeetCode]上刷题的历程.LeetCode上一共有大约150道题目,本文记录我在<http://oj.leetcode.com>上AC的所有题目,以Leetcode上AC率由高到低排序,基本上就是题目由易到难.我应该会每AC15题就过来发一篇文章,争取早日刷完.所以这个第二篇还是相对比较简单的15道题了. 部分答案有参考网上别人的代码,和leetcode论坛里的讨论,很多答案肯定有不完美的地方,欢迎提问,指正和讨论. No.16 Climbing St…
写在前面:因为要准备面试,开始了在[LeetCode]上刷题的历程.LeetCode上一共有大约150道题目,本文记录我在<http://oj.leetcode.com>上AC的所有题目,以Leetcode上AC率由高到低排序,基本上就是题目由易到难.我应该会每AC15题就过来发一篇文章,争取早日刷完.所以这个第一篇就是最简单的15道题了. 部分答案有参考网上别人的代码,和leetcode论坛里的讨论,很多答案肯定有不完美的地方,欢迎提问,指正和讨论. No.1 Single NumberGi…
最近闲来无事刷LeetCode,发现这道题的Accept Rate还是挺高的,尝试着做了一下,结果悲剧了,把过程写下来,希望能长点记性.该题的描述翻译成中文如下: 你正在和你的朋友玩尼姆游戏(Nim Game): 桌子上有一堆石块,你和你的朋友轮流去拿这些石块,每次只能拿1块.2块或者3块.在石块被拿光前,最后一次拿到石块的人获胜.你将首先去拿这些石块. 你和你的朋友都非常聪明,并且拥有应对该游戏的最佳策略.写一个函数来决定在给定石块数量的情况下,你是否能够获胜.比如:如果桌子上有4块石块,那么…
转载自:http://blog.csdn.net/lnho2015/article/details/50962989 以下是我个人做题过程中的一些体会: 1. LeetCode的题库越来越大,截止到目前,已经有321个问题了.对于大多数人来说,没有时间也没有必要把所有题目都做一遍(时间充裕可以随意).刷个100题左右应该就差不多了(可以考虑序号为前100多的题目,相对更经典一点). 2. 从AC率高的开始做,难度从简单->中等,先不要做困难的. 3. 可以按照下文的面试出题频率顺序来做,从频率最…
转载请注明出处:優YoU http://blog.csdn.net/lyy289065406/article/details/6642573 部分解题报告添加新内容,除了原有的"大致题意"和"解题思路"外, 新增"Source修正",因为原Source较模糊,这是为了帮助某些狂WA的同学找到测试数据库,但是我不希望大家利用测试数据打表刷题 ­­ ­ 推荐文:1.一位ACMer过来人的心得 2. POJ测试数据合集 OJ上的一些水题(可用来练手和增…
orzorz开始刷题 争取坚持每周平均下来简单题一天能做两道题吧 非常简单的题奇奇怪怪的错误orz越不做越菜 Num 7 整数反转 Reverse Integer 刚开始多给了一个变量来回折腾占地方,没注意到溢出 因为有溢出,在返回的时候(int) ans 开始设置的时候设置long ans,不然遇到溢出直接报错了. class Solution { public: int reverse(int x) { ; ) { ans=ans*+x%; x=x/; } || ans> ) ; retur…
作者:CYC2018 文章链接:https://github.com/CyC2018/CS-Notes/blob/master/docs/notes/Leetcode+%E9%A2%98%E8%A7%A3.md 本文主要介绍的是LeetCode题库中与字符串相关的经典题目,提供了LeetCode原题题号,参考答案,以及题目的部分解析. 大家可以参考这个刷题指南来完成对字符串部分题目的练习,当然,这只是一部分,字符串的相关题目还有很多,譬如最长公共子序列和最长公共子串,这里列举的只是LeetCod…
由于之前对算法题接触不多,因此暂时只做easy和medium难度的题. 看完了<算法(第四版)>后重新开始刷LeetCode了,这次决定按topic来刷题,有一个大致的方向.有些题不止包含在一个topic中,就以我自己做的先后顺序为准了. Array ---11.Container With Most Water 给定许多条与y轴平行的直线,求其中两条直线与x轴围成的容器的最大容量. 这道题用到了双指针的思想.我们在数轴的两端分别放置一个left指针和right指针,因为容器容量=较短边*两边…
原题戳我. 题目 Description Given a big sorted array with positive integers sorted by ascending order. The array is so big so that you can not get the length of the whole array directly, and you can only access the kth number by ArrayReader.get(k) (or Array…
Problem Description In the modern time, Search engine came into the life of everybody like Google, Baidu, etc. Wiskey also wants to bring this feature to his image retrieval system. Every image have a long description, when users type some keywords t…
Codeforces刷题计划 已完成:-- / -- [Codeforces370E]370E - Summer Reading:构造:(给定某些数,在空白处填数,要求不下降,并且相邻差值<=1,每个数出现2~5次) [Codeforces441E]441E - Valera and Number:期望DP:(p%概率*2,(1-p%)概率+1,最后质因子中2的个数的期望) [Codeforces542E]542E - Playing on Graph:结论 + Bfs + Dfs:(用给定方式…
本人算法还是比较菜的,因此大部分在刷基础题,高手勿喷 选择Python进行刷题,因为坑少,所以不太想用CPP: 1.买股票的最佳时期2 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票). 思路:买高不买低,向上即可 class Solution(object): def maxProfit(self, prices): "…
虽然刷题一直饱受诟病,不过不可否认刷题确实能锻炼我们的编程能力,相信每个认真刷题的人都会有体会.现在提供在线编程评测的平台有很多,比较有名的有 hihocoder,LintCode,以及这里我们关注的 LeetCode. LeetCode 是一个非常棒的 OJ(Online Judge)平台,收集了许多公司的面试题目.相对其他 OJ 平台而言,有着下面的几个优点: 题目全部来自业内大公司的真实面试 不用处理输入输出,精力全放在解决具体问题上 题目有丰富的讨论,可以参考别人的思路 精确了解自己代码…