原创 倍增法LCA【模板】

#include<bits/stdc++.h> using namespace std; const int N=5e5+10; struct zzz{int t,nex;}e[N<<1]; int head[N],tot; i

原创 一文掌握MySQL語句【全】

零、用戶管理:   1、新建用戶:     >CREATE USER name IDENTIFIED BY 'ssapdrow';   2、更改密碼:     >SET PASSWORD FOR name=PASSWO

原创 在Linux中使用chomd修改權限命令【全】

聲明:本文轉自Linux命令:修改文件權限命令chmod詳解 Linux系統中的每個文件和目錄都有訪問許可權限,用它來確定誰可以通過何種方式對文件和目錄進行訪問和操作。文件或目錄的訪問權 限分爲只讀,只寫和可執行三種。以文件爲例

原创 一文學會Makefile【全】

聲明:本文轉自https://blog.csdn.net/weixin_38391755/article/details/80380786?ops_request_misc=&request_id=&biz_id=102&utm_

原创 HUSTOJ後端代碼中makefile解讀

HUSTOJ分爲前端和後端兩部分 web和core。 後端又分爲judge_client judged sim 三部分 然後本文寫的是 core,judge_client,judged三個文件夾下面的makefile,(sim

原创 字符串的最大公因子【leetcode每日一題】

其實最開始我的思路是找到str1和str2的最小週期串,然後比較比較兩個週期串是否相等,當然如果某個沒有周期的話直接返回空串。 後來看了一下題解,感覺學到了。。。。啊哈哈哈哈! 大致思路如下: 1.str1是由m個str組成的,

原创 將數組分成和相等的三個部分【leetcode每日一題】

思路: 1.首先數組裏面的數小於三個,直接返回false; 2.對數組裏面的數求和,和不是3的整數倍,直接返回false; 3.從左往右遍歷,如果s爲和的1/3,就讓cnt++,s=0; 在第三步考慮到如果你求出來三個區間滿足但

原创 買賣股票的最佳時機

大致思路如下:從左往右遍歷,先用一個變量記錄第一個數,然後第二個數開始,如果比記錄的數小,就重新賦值,否則就計算這兩個數的差值。遍歷完一遍之後也就找到了最大的差值。時間複雜度O(n),空間複雜度O(1)代碼如下: class S

原创 零錢兌換【leetcode每日一題】

這道題我剛開始做的時候就覺得是完全揹包,每種無限個,且每個都有它的價值,要求在目標價值下求揹包中裝的個數最小(當然完全揹包原型是求得最大,不過都一樣)。下面直接上這個方法的代碼,算是板子吧: class Solution { p

原创 作爲OIer的起手代碼

別人分享的,自己保存下, 如有侵權,聯繫立刪(幾行代碼。。應該不至於。。啊哈哈哈哈) //#pragma comment(linker, "/stack:200000000") //#pragma GCC optimize("Of

原创 打家劫舍 II

相較於打家劫舍,算是一個升級版。既然是打家劫舍的升級版,那我們就先找與原版之間的聯繫。做過打家劫舍之後我們知道狀態轉移方程是dp[i]=max(dp[i-1],dp[i-2]+nums[i-1])。 然後我們再來看這道題,由相鄰

原创 數組模擬二叉搜索樹

void build(int idx,int x) { if(a[idx]==0) a[idx]=x; else if(x>a[idx]) build(idx<<1|1,x); else if(x<a[idx]) build

原创 7-2 Huffman Codes (30分)【完整思路+46行代碼】

咳,對於不會建樹也懶得建樹的我。看到網上上百行建樹的題解就頭疼。所以我一直在想如何不建樹AC掉這道題,還好。。沒白花時間。。。 首先要清楚哈夫曼編碼的概念,我想能做L3的人底子應該不太差,哈夫曼的原理肯定都知道,我就不再贅述

原创 不同路徑 II

class Solution { public: int uniquePathsWithObstacles(vector<vector<int>>& obstacleGrid) { int m=obsta

原创 最長有效括號

class Solution { public: int longestValidParentheses(string s) { vector<int>dp(s.size(),0); in