自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 LeetCode 168. Excel Sheet Column Title

class Solution {public: string convertToTitle(int n) { string res = ""; string table[] ={"Z","A","B","C","D","E&qu

2018-10-07 11:11:25 287 2

原创 LeetCode 910. Smallest Range II

最小差值 II这题感觉还是挺考验思维的。首先可以想到,差值的最大值就是A中最大和最小值之间的差,经过我们优化后的结果肯定是小于等于这个值的。然后我们再可以想到,我们优化的话对于A中最大值肯定是减去K,对A中最小值肯定是加上K。首先我们对A排序,然后再推广的话就可以想到:若 A[i]是做减操作,A[i]后的元素肯定也是做减操作,这样可以保证最小值的范围不会变大。同理若A[i]是做加操作,A[i...

2018-10-06 15:03:06 308

原创 LeetCode 303. Range Sum Query - Immutable

class NumArray {public: vector<int> dp; NumArray(vector<int> nums) { dp.clear(); int n = nums.size(); if(n==0) return; dp.push_back(nums[0]); ...

2018-09-16 23:13:55 136

原创 LeetCode 198. House Robber

class Solution {public: int rob(vector<int>& nums) { vector<int> dp; int n = nums.size(); dp.push_back(0); int ans = 0; for(int i=0;i<n;...

2018-09-09 22:09:55 133

原创 《机器学习》 第二章学习笔记

模型选择与评估

2018-09-08 10:41:21 319

原创 LeetCode 746. Min Cost Climbing Stairs

递推公式:dp[i]=min(dp[i−1]+cost[i],dp[i−2]+cost[i])dp[i]=min(dp[i−1]+cost[i],dp[i−2]+cost[i])dp[i] = min(dp[i-1]+cost[i] , dp[i-2] + cost[i])class Solution {public: int minCostClimbingStairs(vector...

2018-09-07 22:31:37 160

原创 LeetCode 70. Climbing Stairs

递推公式:dp[i]=dp[i−1]+dp[i−2];dp[0]=1,dp[1]=1dp[i]=dp[i−1]+dp[i−2];dp[0]=1,dp[1]=1dp[i] = dp[i-1]+dp[i-2];dp[0]=1,dp[1]=1class Solution {public: int climbStairs(int n) { vector<int&gt...

2018-09-07 22:01:00 136

原创 LeetCode 53. Maximum Subarray

最大连续子序列和class Solution {public: int maxSubArray(vector<int>& nums) { int l = nums.size(); vector<int> dp; dp.push_back(max(0,nums[0])); int ans...

2018-09-05 23:00:49 115

原创 LeetCode 50. Pow(x, n)

快速幂本题要求x的n次方,n很大,所以O(n)的解法肯定不行,只能考虑O(logn)复杂度的解法。我们可以想到,若nnn为偶数,xn=(x2)n/2xn=(x2)n/2x^n=(x^2)^{n/2},若nnn为奇数,则xn=x⋅x(n−1)/2xn=x·x(n−1)/2x^n=x·x^{(n-1)/2},由此可以想到由递归方式来解决。代码:class Solution {pu...

2018-07-07 01:00:07 173

原创 PAT 甲级 1030 Travel Plan

这题和1018很像,换了写法,先找最短路再dfs,写了下dijkstra算法,有点生疏。 快复试了,加油!#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#

2018-03-09 23:15:12 363

原创 PAT 甲级 1018 Public Bike Management

DFS+记忆化搜索剪枝 没试过不剪枝会不会超时。 注意点就是没有返回修改这个说法 10 4 4 5 3 5 5 10 0 1 1 0 2 1 1 3 1 2 3 1 3 4 1 这组数据出来的结果是 0 0->2->3->4 5 别的应该没什么问题…判断语句写的好搓更新 不剪枝直接爆搜也不会超时…#include <iostream&gt...

2018-02-28 23:29:54 254

原创 PAT 甲级 1017 Queueing at Bank

模拟 以前老师说,模拟是最考验代码水平的(笑),确实啊。 这题和前面一题有点像,换了个不同的做法,模拟了每一秒时的情况,等待时间就是每秒钟排队的人数。 注意点就是是否服务取决于客户到来的时间,和当前时间是否超过17点没关系。 回顾了优先队列。#include <iostream>#include <cstdio>#include <algorithm&...

2018-02-23 20:31:22 213

原创 PAT 甲级 1016 Phone Bills

这题我只能过0号测试点和3号测试点…也不知道哪里错了…很僵 思路: 将每条记录按照名字保存下来,即生成个人记录,时间全部化成分钟,分别保存在online和offline两个数组中。对两个数组分别排序。对online数组的每一个元素,找到第一个比它大的offline时间,然后从online数组中找到最大的比该offline小的时间,然后计算话费。可能该想法有问题…我再想想反例吧…看到的大佬如果发...

2018-02-21 02:01:27 617 1

原创 PAT 甲级 1007 Maximum Subsequence Sum

最大连续子序列和 题目分为两步,第一步求最大和,第二步求该子序列的起始点和结束点。 首先看第一步 求子序列的最大和 定义一个sum,表示从头开始到当前位置序列之和,若sum<0,则将sum置为0. 这里有dp的思想,即无需管sum之前是怎么来的,只要管当前序列的值与sum的和,从而推出下一个sum。 公式为:...

2018-02-10 23:19:22 178

原创 HDU 2067 小兔的棋盘

小兔的棋盘递推。因为不能越过对角线,而对角线上的子路径数目可以由对角线上下两边相加而得,因此在从对角线出发的某子路径要减去对角线另一边的路径数目。要用长整型。import java.util.Scanner;public class Main { public static void main(String[] args) { // TODO Auto-generate

2018-01-27 23:52:12 203

原创 CSU 1513 Kick the ball!

DFS 数据量很小 直接枚举所有情况注意下判断比赛结束时的条件 如果比赛已经结束但是分数未达到要求时 要停止搜索(坑)当比赛已经结束且分数达到要求时 将当前状态的概率加上#include #include #include #include #include using namespace std;double a[7],b[7];int x,y;double ans;

2015-04-16 23:59:21 686

原创 ZOJ 3861 Valid Pattern Lock

DFS 搜索时带着方向一起 在碰到已经走过的点时 不能继续16个方向搜索 只能按照原来的方向搜下一个点不能走的点标记为0  能走的点标记为1 走过的点标记为2写的好搓啊(笑)#include #include #include #include using namespace std;int T,n;struct node{ int num[77]={0};

2015-04-14 22:45:06 412

原创 HDU 3183 A Magic Lamp

栈#include #include#include#include#include#includeusing namespace std;stack st;char ss[1001];char ans[1001];int i,j,k,l;int n;int main(){ while(~scanf("%s",ss)) { while(

2014-08-07 17:12:32 295

原创 HDU 1754 I Hate It

#include#include#includeusing namespace  std;struct P{    int max;    int l;    int r;    int val;};P ss[1000010];int ma;void build(int l,int r,int x){    ss[x].l=l;   

2014-08-06 01:38:43 282

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除