自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DUT_LYH

行百里 半九十

原创 假期作业目录

(二选一) poj1636 Prison rearrangement(连通分量+背包) poj1088 滑雪(带有备忘的递归|拓扑排序) (二选一) poj2366 poj3233 (二选一) poj1753 Flip Game poj3714 Raid (二选一) poj3269 Buildin...

2020-01-27 11:21:57 981 2

原创 论文撰写-LaTex 教程+模板

教程 https://www.jianshu.com/p/3e842d67ada2 模板链接 https://github.com/MartinThoma/LaTeX-examples http://www.latextemplates.com/ http://uk.tug.org/trainin...

2020-05-17 23:25:30 42 0

转载 TSP 问题的 LKH 方法介绍

算法设计中最有名的问题恐怕非TSP(旅行售货商问题)莫属了,又名为Hamilton环游问题。 对此问题感兴趣的可以阅读下面的网站: http://www.seas.gwu.edu/~simhaweb/champalg/tsp/tsp.html http://www.akira.ruc.dk/~ke...

2020-05-17 18:51:02 92 0

原创 2020-CSP南京线上分享会-高分经验分享

以下内容来自2020-CSP南京在线研讨会内容 侵删 陈文光 CSP考什么 基本的编程 数据结构 算法 调试能力(实践) CCSP 内存空间 读写数据 网络通信 性能优化 工程能力 参与现有软件的编写 测试 与客户沟通 设计审查 团队合作等 题目难度描述 第一题:单循环+分支语句即可完成,例如...

2020-05-16 15:14:51 109 0

原创 快速入门 CUDA C++ 混编

教程: https://zhuanlan.zhihu.com/p/34587739 kernel是CUDA中一个重要的概念,kernel是在device上线程中并行执行的函数 一个kernel所启动的所有线程称为一个网格(grid) SM(Streaming Multiprocessor),流式多...

2020-05-08 22:40:13 60 0

原创 在线工具收集

grammrly:Grammar Check https://www.grammarly.com/

2020-05-07 22:05:13 112 0

原创 非递归 求所有组合

从[0,NN-1]这NN个数里面,找到所有组合 例如Con(5,3) 0 1 2 0 1 3 0 1 4 0 2 3 0 2 4 0 3 4 1 2 3 1 2 4 1 3 4 2 3 4 类似于加法器,初始是0,1,2 每次给最后的一个数字加一 令Kmax=3,k在[0,Kmax] 则第k位...

2020-04-12 10:18:49 73 0

原创 C++ 11 多线程学习笔记3 -- 死锁

https://www.bilibili.com/video/av39161756?p=4 1.拥有一些资源,同时请求一些资源 #include <iostream> #include <thread> #include <future> #include &l...

2020-02-14 20:38:53 144 0

原创 C++ 11 多线程学习笔记2 --数据竞争和互斥 LogFile

https://www.bilibili.com/video/av39161756?p=3 1.lock和unlock #include <iostream> #include <thread> #include <future> #include <mu...

2020-02-14 19:41:22 78 0

原创 C++ 11 多线程学习笔记1 --线程创建
原力计划

https://www.bilibili.com/video/av39161756?p=1 并发编程 包括多进程编程和多线程编程 进程之间相互通讯的方法 文件 管道 消息队列 多线程的优点 线程启动速度快 轻量级 开销低 多线程的缺点 管理较难 不能在分布式系统下运行 运行环境 VS201...

2020-02-14 19:19:00 165 0

原创 leetcode 53. 最大子序和

class Solution { public: int maxSubArray(vector<int>& nums) { if(nums.size() == 1){ return nums[0]; } ...

2020-01-27 11:59:14 169 0

原创 leetcode 303. 区域和检索 - 数组不可变

前缀和 class NumArray { public: vector<int> sum; NumArray(vector<int>& nums) { if(nums.size()>0){ sum.pus...

2020-01-27 11:51:35 120 0

原创 leetcode 105. 从前序与中序遍历序列构造二叉树

递归, 在中序中找前序的第一个元素, 之后切割成两个相同子问题 class Solution { public: TreeNode* buildTree(vector<int>& preorder, vector<int>& inorder) { ...

2020-01-27 11:19:49 105 0

原创 leetcode 589. N叉树的前序遍历

递归 class Solution { public: vector<int> ret; vector<int> preorder(Node* root) { findw(root); return ret; } ...

2020-01-27 10:44:07 94 0

原创 leetcode 307. 区域和检索 - 数组可修改 前缀和 | 线段树

前缀和 查询是O(1) 更新是O(n) class NumArray { public: vector<int> sum; vector<int> nums; NumArray(vector<int>& nums) { ...

2020-01-25 23:20:14 124 0

原创 leetcode 382. 链表随机节点

从头开始计数 第i个点选择的概率是1i\frac{1}{i}i1​ 只需要区[0,i-1]的随机数,如果,取到了0,就更新返回值,否则不更新 class Solution { public: /** @param head The linked list's head. ...

2020-01-25 19:10:41 83 0

原创 leetcode 56. 合并区间

区间左端点进行排序 如果intervals小于等于一个元素直接返回 如果大于1个 按照左边点进行排序 从左至右依次合并 class Solution { public: static bool cmp(vector<int>&a,vector<int>&a...

2020-01-25 18:36:04 60 0

原创 EOJ Monthly 2020.1 A. 回文时间

https://acm.ecnu.edu.cn/contest/247/problem/A/ 因为是对称的,只考虑前七位 2020012 | 2100202 0123 45 6 2020 | 01 | 2 年 | 月 | 日 0位和2位的取值范围:{"0",&qu...

2020-01-18 18:59:08 154 0

原创 POJ 2366 Sacrament of the sum 二分查找 哈希表

题干那么长,就是在两个数组里面分别找一个数,使得和为10000 法一:二分查找 法二:数组(哈希) 转载自 https://www.cnblogs.com/wwdf/p/5781351.html #include<cstdio> #include<cmath> #inclu...

2020-01-14 19:40:56 109 2

原创 POJ 2228 Naptime 环形DP

参考 https://blog.csdn.net/qq_41925919/article/details/90267224 dp[i][j][0]:前i个时间间隔中,已经花费了j个间隔,取得的最大值,并且第i个间隔在休息 dp[i][j][1]:前i个时间间隔中,已经花费了j个间隔,取得的最大值,...

2019-12-03 20:27:19 75 0

原创 POJ 1636 Prison rearrangement 二部图连通分量+背包

#include <iostream> #include <stdio.h> #include <string> #include <string.h> #include <vector> #include <cstdio> ...

2019-12-02 21:24:12 83 0

原创 POJ 2506 Tiling 递推+大数

将答案存在ret数组里面 递推关系 ret[i] = ret[i-1] + ret[i-2]*2 ; 注意是乘2不是3,当ret[i-2]时候,我们有两个单位可以操作,因为全竖起来的那种,在ret[i-1]已经考虑过了 #include <iostream> #include &...

2019-11-26 15:50:59 67 0

原创 POJ 1185 炮兵阵地 dp三维和二维的区别 状压dp

参考: https://www.cnblogs.com/scau20110726/archive/2013/02/27/2935256.html 最开始写了的dp数组是二维的,想法也很简单,但是一直wa,后来明白开三维数组的作用。 dp[i][t] 我们用二维数组记住了第i行在用第k个解的时候,并...

2019-11-25 20:51:11 92 0

原创 POJ 1088 滑雪 递归+dp | 拓扑排序

从每个点(i,j)向四个方向去看 如果某一个方向(a,b)的数值比当前位置小 先求解(a,b)的最长距离,之后加1即可 朴素的递归重复求解了很多子问题,我们每计算出一个子问题的解,便将他进行存储,这样就可以大大减少时间。 #include <iostream> #include <...

2019-11-23 21:47:36 91 0

原创 POJ 1050 To the Max 矩阵最大和的子数组:动态规划

将原来的矩阵直接改造成dp矩阵 dp[i][j] 表示以以a[0][0]为左上角 a[i][j]为右下角的矩阵 所以一个O(n4n^{4}n4)的算法就比较容易写了 状态转移: 表示(不包括)左上角( ii , jj )右下角(i , j)的子矩阵和 ret = max(ret, a[i][j] ...

2019-11-22 19:58:08 54 0

原创 POJ 1001 Exponentiation 字符串乘法+快速求幂

考虑一下下面的样例应该可以AC: 底数整数的情况 数的最后有后道零 没有小数部分时候不输出小数点 思路 先不考虑小数点 将数存入字符串a,b中 答案存入ret ret的长度是a的长度和b的长度之和 a[i]和b[j]相乘的位置放在ret的i+j和i+j+1的位置 注意进位 #include &l...

2019-11-15 19:58:06 74 0

原创 leetcode 888. 公平的糖果交换 比较set和map的速度

求和Sa,Sb 找两颗差值 = (Sa-Sb)/2的 set class Solution { public: vector<int> fairCandySwap(vector<int>& A, vector<int>& B) { ...

2019-11-03 22:05:27 54 0

原创 leetcode 705. 设计哈希集合

看了范围不是很大使用了数组,不是正规解法 class MyHashSet { public: /** Initialize your data structure here. */ bool * hx; MyHashSet() { hx = new bool...

2019-10-31 22:08:50 82 0

原创 leetcode 703. 数据流中的第K大元素 小顶堆

建立一个大小为k的最小堆,堆顶就是第k大的元素 数据流中如果有比k大的元素,入堆,重新调整,保持一共k个元素 如果比k小直接返回堆顶即可 #include <iostream> #include <vector> #include <algorithm> #in...

2019-10-31 12:25:13 54 0

原创 leetcode 581. 最短无序连续子数组 排序nlogn vs O(n)解法

排序O(nlogn) 之后找到第一个交换和最后交换的位置 class Solution { public: int findUnsortedSubarray(vector<int>& nums) { vector<int> nn(nums);...

2019-10-29 21:43:09 63 0

原创 DUTOJ-1018: totoday的难题

一共三种情况 白(-2) => 黑(+1)最终 白(-2)黑(+1) 白(-1)黑(-1) => 白(+1) 最终 黑(-1) 黑(-2) => 黑(+1) 最终 黑(-1) 可以看出白球只能是每次减少2 最后剩余一个球,那么白球是最开始是奇数最后就一定剩下白球, 白球最开始是偶...

2019-10-26 16:49:47 77 0

原创 leetcode 459. 重复的子字符串

题解 class Solution { public: bool repeatedSubstringPattern(string s) { string ss = s+s; ss = ss.substr(1,ss.size()-2); ret...

2019-10-25 15:06:11 54 0

原创 leetcode 405. 数字转换为十六进制数

除以16取余 继续这个过程直到为0 对于负数,直接将int 转成 unsigned int 运算即可 法二:利用位运算取出每四位 ,然后对应一个字母 class Solution { public: string toHex(int num) { if(num==0){ ...

2019-10-25 14:32:39 56 0

原创 leetcode 496. 下一个更大元素 I

用map记录nums2里面每一个元素的下标 然后遍历nums1 从下标位置的下一个元素开始找 class Solution { public: vector<int> nextGreaterElement(vector<int>& nums1, vector...

2019-10-25 12:30:49 51 0

原创 leetcode 437. 路径总和 III

class Solution { public: int cnt = 0; int sum1 = 0; int pathSum(TreeNode* root, int sum) { this->sum1 = sum; findw( ro...

2019-10-21 23:30:35 59 0

原创 leetcode 198. 打家劫舍

dp class Solution { public: int rob(vector<int>& nums) { vector<int> dp( nums.size(),0); int ret = 0; boo...

2019-10-17 14:22:52 84 0

原创 leetcode 221. 最大正方形

dp 转态转移方程: matrix[i][j]=='1': dp[i][j] = 1+min( dp[i-1][j-1], min( dp[i][j-1],dp[i-1][j] )); matrix[i][j]=='0': dp[i][j] = 0; ...

2019-10-17 13:40:41 56 0

原创 leetcode 40. 组合总和 II

利用set去重,一维vector判断相等需要都按照一种顺序排好 超时 class Solution { public: vector<vector<int>> ret; vector<int> can; set< vector<...

2019-10-16 21:36:04 54 0

原创 leetcode 99. 恢复二叉搜索树

中序遍历,弄在数组里面,再弄个数组复制一份排好序 比较哪里错了,换回来 中序遍历的时候用map存一下数字的地址(默认没有重复元素) class Solution { public: vector<int> zhong; map<int,TreeNode*> ...

2019-10-15 23:16:11 43 0

原创 leetcode 86. 分隔链表

把小于(或者大于等于)的结点单独弄成一个链表,直接调整指针 class Solution { public: ListNode* partition(ListNode* head, int x) { ListNode * da = nullptr; List...

2019-10-08 19:22:26 51 0

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