- 博客(148)
- 收藏
- 关注
原创 leetcode之Intersection of two arrays,delete node in a list, same tree
思路都比较简单,主要就是要代码简洁和做到bug free1.注意size()==02.注意delete3.注意直接实现 和 代码简洁度
2016-06-12 10:54:16 321
原创 leetcode 之reverse string ,Nim game, add digits
add digit启发:注意找规律,多写几个找出数字中的规律
2016-06-10 12:36:00 366
原创 codeforce之最少加多少能组成一个凸三角形
这是个纯数学规律的题目:只要让最大的那条边小于剩下的所有边之和即可,如果小于等于,只需要将剩下的边的和加到比最大的那个大1即可。
2016-06-05 21:22:03 318
原创 codeforce之Magic Powder
题目:The term of this problem is the same as the previous one, the only exception — increased restrictions.InputThe first line contains two positive integers n and k (1 ≤ n ≤ 100 000
2016-06-03 23:20:14 375
原创 codeforce之Bear and Two Paths
题目:Bearland has n cities, numbered 1 through n. Cities are connected via bidirectional roads. Each road connects two distinct cities. No two roads connect the same pair of cities.Bear Li
2016-05-31 11:46:34 330
原创 codeforce之 Bear and Colors
题目:Bear Limak has n colored balls, arranged in one long row. Balls are numbered 1 through n, from left to right. There are n possible colors, also numbered 1 through n. The i-th ball has c
2016-05-31 10:33:33 418
原创 codeforce之problems for round
题目:There are n problems prepared for the next Codeforces round. They are arranged in ascending order by their difficulty, and no two problems have the same difficulty. Moreover, there are m
2016-05-31 10:10:25 266
原创 CF之Recycling Bottles
题目:It was recycling day in Kekoland. To celebrate it Adil and Bera went to Central Perk where they can take bottles from the ground and put them into a recycling bin.We can think Central P
2016-05-28 18:31:10 535
原创 CF之Vasya and String
题目:High school student Vasya got a string of length n as a birthday present. This string consists of letters 'a' and 'b' only. Vasya denotesbeauty of the string as the maximum length of a su
2016-05-28 14:06:11 700
原创 code force 之 Money transfer
转化为求最多和为0的子数组,其实就是前缀和的次数#include#include#include#include#include#include#include#include#includeusing namespace std;map m;int a[100001];int max(int a, int b) { return a > b ? a : b;}in
2016-05-24 23:03:33 529
原创 ACM刷题准备
简单搜索搜索进阶Dancing links最短路并查集最小生成树线段树生成树连通图匹配网络流基础dp基础计算几何数论基础kmp后缀树矩阵
2016-05-20 09:56:26 556
原创 kuangbin带你飞之简单搜索 B,C
很明显的找最短路的问题,很明显的BFS实现,故意写了个DFS,果然超时。。以及目前写代码的速度还是有点慢,要多写了
2016-05-05 19:11:54 270
原创 lintcode之不同子序列数 + 序列II
不同子序列:很明显是dp, 当位置相等的时候,等于f(i - 1, j - 1) + f(i, j - 1 )否则就是f(i, j - 1)子序列:找打第一个相邻升序,从后向前找到第一个大于的,交换,排序
2016-04-27 00:03:59 563
原创 编程之美只有加法的面试题
1:枚举个数(个数的大小是有限的,可以进行放缩)num=i + i+1 + i+2 + ....+ i+k-1 一共有k个数。= (i + i+k-1)*k/2=(2*i+k-1)*k/2=k*(i+ (k-1)/2)=k*i + k*(k-1)/2判断条件: num%(k*(k-1)/2)==0 或者 2*num>k*(k-1) 得: ki=num/k;可得出i
2016-04-23 21:24:32 270
原创 编程之美之数组分割
无序数组,分割成为两个子数组,使得子数组之间的和最接近问题转换为从2n个数中找出n个,使得他们的和最接近总体和的1/2利用dp记录在前t个数中随机取i个的所有的可能的和即可,然后遍历,这样会出现指数级别可以利用遍历可能的和的值,查询在该值在前面是否出现,这样会将复杂度降低到多项式级别
2016-04-23 21:00:47 425
原创 数组循环移位
有一部分的顺序是不会发生改变的,所以实际上就是交换数组的两部分可以通过两次部分逆序和一次总体逆序来实现注意移位之前先进行取模操作来避免不必要的操作
2016-04-23 20:40:45 410
原创 编程之美之找到符合条件的数
给定N,找到最小的M,使得N*M的十进制表示中只有1,0将问题转换为在所有的只有1,0组成的数中寻找最小的一个能整除N的数即可为了避免枚举2^k的情况,将2^k的空间按照余数分解成为N-1个区间,记录每个空间中的最小数即可,这样可以让得到的数是最小书上的代码很清晰,直接看就能懂很赞.这道题目主要学到的思想还是问题转换和空间分割
2016-04-23 19:12:21 339
原创 编程之美最大公约数
1.辗转相除(对于数比较大的时候,会耗时比较高)2.变成相减,利用x - y,y和x,y有相同的最大公约数3.2虽然降低了运算的复杂度,但是很明显增加了迭代次数利用f(x,y) = f(p*x1, y) = f(x1, y)即可,其中P是素数,并且y不能整除P最简单的直接利用2作为素数P, 可以利用位运算复杂度 O(log2(max(x,y)))
2016-04-23 18:33:51 236
原创 编程之美精确表达浮点数
首先数表示为整数 + 小数小数分为有限小数和无限小数对于有限小数就很简单直接 a / 10^n对于存在无限循环小数的情况:x = (a + 0.bbbb) / 10 ^n10 ^m * 0.bbb = bbb + 0.bbb;即可解出0.bbb再带入即可 然后进行约分,也就是需要求最大公约数
2016-04-23 17:19:01 374
原创 编程之美之发帖水王
就是一个摩尔投票的过程这个时候不需要进行排序,直接进行,复杂度是O(n)扩展:找出其中三个发帖数目超过1/4的人的ID,直接变成3个的摩尔投票先处理是空的状态,但是同时注意不能出现一个ID放在了两个中的状态
2016-04-23 10:46:59 204
原创 lintcode之数组划分
题目:给出一个整数数组nums和一个整数k。划分数组(即移动数组nums中的元素),使得:所有小于k的元素移到左边所有大于等于k的元素移到右边返回数组划分的位置,即数组中第一个位置i,满足nums[i]大于等于k。解答:两个指针交换注意边界和只在l class Solution {public: in
2016-04-21 21:59:52 374
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人