自定义博客皮肤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

行百里 半九十

  • 博客(318)
  • 资源 (2)
  • 论坛 (3)

原创 假期作业目录

(二选一)poj1636 Prison rearrangement(连通分量+背包)poj1088 滑雪(带有备忘的递归|拓扑排序)(二选一)poj2366poj3233(二选一)poj1753 Flip Gamepoj3714 Raid(二选一)poj3269 Building A New Barn(中位数)poj3579 Median(二分)哈希(二选一)[M]380...

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

原创 leetcode 68. 文本左右对齐 模拟

不断尝试,考虑各种情况#define debug(x) cout<<#x<<": "<<(x)<<endl;class Solution {public: vector<string> fullJustify(vector<string>& words, int maxWidth) { vector<string> ret; vector<string>sp

2020-10-18 21:58:26 358

原创 leetcode 310. 最小高度树 拓扑排序

使用邻接矩阵会超时使用邻接表就不超时了每次去掉度为1的点到最后的两个以内的时候停止#define debug(x) cout<<#x<<": "<<(x) <<endl;class Solution {public: vector<int> findMinHeightTrees(int n, vector<vector<int>>& edges) { if(n==1){

2020-10-18 19:29:55 24

原创 leetcode 400. 第N个数字

题解来自于https://leetcode-cn.com/problems/nth-digit/comments/#define debug(x) cout<<#x<<": "<<(x)<<endl;class Solution {public: string LL_str(long long a){ stringstream ss; ss<<a; return ss.s

2020-10-12 17:03:42 18

原创 leetcode 547. 朋友圈 dfs | 并查集

dfs每次拿到一个没有访问的节点就dfs一遍把它和它的朋友都标记了最后看看dfs了几次就有几个朋友圈class Solution {public: vector<bool>visit; int findCircleNum(vector<vector<int>>& M) { if(M.size()==0){ return 0; } visit = vector<b

2020-10-06 13:54:23 65

原创 leetcode 236. 二叉树的最近公共祖先 dfs

从上之下一次找p和q的祖先链条,一直找到root分别存在数组里面然后找公共的祖先的最小的那个#define debug(x) cout<<#x<<": "<<(x)<<endl;class Solution {public: vector<TreeNode*> pf; vector<TreeNode*> qf; TreeNode* lowestCommonAncestor(TreeNode* root

2020-10-06 13:16:10 25

原创 leetcode 968. 监控二叉树

最小支配集从图G=(V,E)中,从点集V中选取一个子集P,使得图中其他任意一个节点可以与P中的点相连

2020-09-24 21:13:57 33

原创 NVIDIA CUDA

https://www.iqiyi.com/v_19rrmjuw98.html#curid=289021600_ddce44b8d3421b67ccecb7c462ea4b09

2020-07-28 00:10:41 107

原创 EOJ Monthly 2020.7 Sponsored by TuSimple E. 因数串 - 构造 格雷码?

思路参考https://www.cnblogs.com/hznumqf/p/13334678.html以2 2 3 3 3为例两个集合 每个集合分别拿 0 1 2个数然后进行组合即可很容易想到 1 2 41 3 9 27然后有12种组合但是要注意顺序 要求相邻的差一个质数这时候就可以把前面结果用ans数组存起来构造过程:11 21 2 41 2 4 121 2 4 12 61 2 4 12 6 31 2 4 12 6 3 91 2 4 12 6 3 9 181 2 4

2020-07-18 14:36:22 89

原创 EOJ Monthly 2020.7 Sponsored by TuSimple B. 线上考试 - 组合数

组合数相加因为规模小 可以算好组合数存起来取所有题目测试数量的最大值即可#include <iostream>#include <algorithm>#include <math.h>#include <stdlib.h>using namespace std;#define debug(x) cout<<#x<<(x)<<endl;int mat[20][20];int combinat(int

2020-07-17 23:24:09 88

原创 EOJ Monthly 2020.7 Sponsored by TuSimple A 打字机 - 栈-括号匹配

https://acm.ecnu.edu.cn/contest/292/problem/A/利用栈类似括号匹配末尾的a一定是操作1形成的,所以可以先将串末尾的连续的a去掉不可能出现b开头的串用操作2生成的串a和b是匹配的可以利用栈进行匹配如果一个b前面有多个a 那这个时候就有两种可能 即不快乐遇到a就压栈,遇到b就弹一个出来最后栈里面还有a就是不快乐如果遇到一个b这个时候栈是空的 那就是非法的 Dead Fang#include <iostream>#include &lt

2020-07-17 23:21:28 146

原创 EOJ Monthly 2020.3 B. 与矩阵 - 位运算

矩阵 c[n][n]数列 a[n]if c[i][j]的二进制第k位为1 a[i]和a[j]的二进制第k位为1else a[i]和a[j]的二进制第k位为0 (为了最小化字典序 可用用反证法加以证明)#include <iostream>#include <stdio.h>#include <string.h>using namespace std;#define debug(x) cout<<#x<<(x)<&lt

2020-07-17 13:21:06 53

原创 leetcode 208. 实现 Trie (前缀树)-字典树

字典树百度百科大概是一个26叉树插入每次插入的时候如果当前没有这个分支就新建节点查找每次查找都从根节点开始,随着单词的前后顺序如果一直可以查到尾巴那么就证明存在为了和前缀区分为每一个单词后面加一个"}"因为’}'的ascii码是’z’的下一个#include <iostream>#include <map>#include <stdio.h>using namespace std;#define debug(x) cout<<

2020-07-16 22:31:02 55

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

教程https://www.jianshu.com/p/3e842d67ada2模板链接https://github.com/MartinThoma/LaTeX-exampleshttp://www.latextemplates.com/http://uk.tug.org/training/thesis/ 国外高校论文模板。https://www.overleaf.com/期刊的模板代码,支持在线编辑,所见即所得,效果如下:...

2020-05-17 23:25:30 215

转载 TSP 问题的 LKH 方法介绍

算法设计中最有名的问题恐怕非TSP(旅行售货商问题)莫属了,又名为Hamilton环游问题。对此问题感兴趣的可以阅读下面的网站:http://www.seas.gwu.edu/~simhaweb/champalg/tsp/tsp.htmlhttp://www.akira.ruc.dk/~keld/research/LKH/个人认为,K. Helsgaun 的 LKH (Lin-Kernighan-Helsgaun)方法是目前求解 TSP 问题的最有效方法。令人敬佩的是,为了促进研究,K. Hels

2020-05-17 18:51:02 820

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

以下内容来自2020-CSP南京在线研讨会内容 侵删陈文光CSP考什么基本的编程数据结构算法调试能力(实践)CCSP内存空间读写数据网络通信性能优化工程能力参与现有软件的编写测试与客户沟通设计审查团队合作等题目难度描述第一题:单循环+分支语句即可完成,例如给出输入数据中偶数的个数.第二题:可能需要多重循环/或对数据进行排序等常见操作,例如点击窗口问题第三题:不具备算法难度,但具有一定工作量,例如命令行选项分析第四题:具备一定算法难度,例如广度优先图遍历算反、最

2020-05-16 15:14:51 313

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

教程: https://zhuanlan.zhihu.com/p/34587739kernel是CUDA中一个重要的概念,kernel是在device上线程中并行执行的函数一个kernel所启动的所有线程称为一个网格(grid)SM(Streaming Multiprocessor),流式多处理器每个线程块有包含共享内存(Shared Memory),可以被线程块中所有线程共享,其生命周期与线程块一致。此外,所有的线程都可以访问全局内存(Global Memory)。还可以访问一些只读内存块:常量

2020-05-08 22:40:13 181

原创 在线工具收集

grammrly:Grammar Checkhttps://www.grammarly.com/

2020-05-07 22:05:13 202

原创 非递归 求所有组合

从[0,NN-1]这NN个数里面,找到所有组合 例如Con(5,3)0 1 20 1 30 1 40 2 30 2 40 3 41 2 31 2 41 3 42 3 4类似于加法器,初始是0,1,2每次给最后的一个数字加一令Kmax=3,k在[0,Kmax]则第k位置的数字进位的要求是ve[k] >= N - (Kmax - k)直到ve[0]>0,...

2020-04-12 10:18:49 147

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

https://www.bilibili.com/video/av39161756?p=41.拥有一些资源,同时请求一些资源#include <iostream>#include <thread>#include <future>#include <mutex>#include <string>#include <fs...

2020-02-14 20:38:53 172

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

https://www.bilibili.com/video/av39161756?p=31.lock和unlock#include <iostream>#include <thread>#include <future>#include <mutex>#include <string>std::mutex mu;us...

2020-02-14 19:41:22 110

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

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

2020-02-14 19:19:00 200

原创 leetcode 53. 最大子序和

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

2020-01-27 11:59:14 194

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

前缀和class NumArray {public: vector<int> sum; NumArray(vector<int>& nums) { if(nums.size()>0){ sum.push_back(nums[0]); } for(int i=1;i&lt...

2020-01-27 11:51:35 146

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

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

2020-01-27 11:19:49 153

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

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

2020-01-27 10:44:07 107

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

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

2020-01-25 23:20:14 156

原创 leetcode 382. 链表随机节点

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

2020-01-25 19:10:41 105

原创 leetcode 56. 合并区间

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

2020-01-25 18:36:04 81

原创 EOJ Monthly 2020.1 A. 回文时间

https://acm.ecnu.edu.cn/contest/247/problem/A/因为是对称的,只考虑前七位2020012 | 21002020123 45 62020 | 01 | 2 年 | 月 | 日0位和2位的取值范围:{"0","1","2","3","4","5","6","7","8","9"}1位和3位的取值范围: {"0","1","2","3...

2020-01-18 18:59:08 229

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

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

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

原创 POJ 2228 Naptime 环形DP

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

2019-12-03 20:27:19 103

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

#include <iostream>#include <stdio.h>#include <string>#include <string.h>#include <vector>#include <cstdio>using namespace std;#define debug(x) cout<&lt...

2019-12-02 21:24:12 135

原创 POJ 2506 Tiling 递推+大数

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

2019-11-26 15:50:59 96

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

参考:https://www.cnblogs.com/scau20110726/archive/2013/02/27/2935256.html最开始写了的dp数组是二维的,想法也很简单,但是一直wa,后来明白开三维数组的作用。dp[i][t]我们用二维数组记住了第i行在用第k个解的时候,并没有记住在此时i-1行应该取什么动作,这个时候一个很简单的想法,我们判断一下不就行了?第i行不和第...

2019-11-25 20:51:11 161

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

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

2019-11-23 21:47:36 121

原创 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] + a[ii][jj] - a[i][jj] - a[ii][j]);#include <i...

2019-11-22 19:58:08 85

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

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

2019-11-15 19:58:06 110

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

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

2019-11-03 22:05:27 95

原创 leetcode 705. 设计哈希集合

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

2019-10-31 22:08:50 145

大连理工大学单世民数据库笔记+考试题回顾.pdf

大连理工大学单世民数据库笔记+考试题回顾,笔记清晰,可用于数据库程序设计课程复习,特别是老师上课有笔记没来得及记下的。

2019-06-26

大连理工大学夏锋计算机网络b站网课笔记

大连理工大学软件学院夏锋计算机网络b站网课笔记

2019-04-27

DUT_LYH的留言板

发表于 2020-01-02 最后回复 2020-01-02

英语之于编程

发表于 2019-04-28 最后回复 2019-04-28

第一篇博客

发表于 2017-11-19 最后回复 2017-11-19

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