原创 Light oj Trailing Zeroes (I) (算術基本定理)

對於初識數論的我來說這是很好的一道題,因爲通過它我擴展了不少東西:算術基本定理,線性篩素數,歐拉函數,Miller Rabin質數分解和Pollard Rho大整數分解(見模板,較爲少用)   主要是對算術基本定理(質因數分解定理)的應用

原创 light oj --Digits of Factorial (一個數的位數問題以及log的公式應用)

這是一道數學題。 假設N! 等於 NUM   對於  N!= NUM 做恆等變形      (ans向下取整) 最終的結果等於ans+1 題解:我們需要知道log10(n)=a+b(a是整數,b是小於1的小數)。則

原创 zoj cut the tree(樹形dp,小細節真的很多)

這道題做的我很是頭痛,好不容易思路有了結果調了好幾個小時也沒調對,太弱,最後是找了份題解“對照”人家代碼改的才過,索性把他的思路也直接粘過來了。  一看便知是樹形dp,dp[i][j]-表示以節點 i 爲根的樹砍 j 次得到的最小權值,不

原创 Party at Hali-Bula

#include <iostream> #include<string.h> #include<stdio.h> #include<string> #include<stdlib.h> #include<map> #include<vec

原创 light oj 1067 Combinations (組合數的lucas定理)

/*  用到了lucas定理:A、B是非負整數,p是質數。AB寫成p進制:A=a[n]a[n-1]...a[0],B=b[n]b[n-1]...b[

原创 非root用戶安裝cuda10.0

https://www.cnblogs.com/Climbing-Snail/p/9361621.html 下載官網 runfile,然後bash cuda10.0-----.run,修改爲本地路徑 在 ~/.bashrc中添加上面兩個

原创 狀壓dp小結

狀態壓縮dp  1)首先是狀態的壓縮。一般採用二進制,有時候會用三進制或是其他的,根據每個點狀態的個數。像travelling那道,每條路徑最多可以走兩遍所以就用0,1,2來存儲每個點的狀 態。要會用各種位運算。 像看相鄰元素不相鄰用'<

原创 拓撲和傳遞閉包小結

拓撲排序與傳遞閉包 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=71575#overview 這幾天主要學了一下拓撲排序,同時還在題目中遇到了解決傳遞閉包的warshell算

原创 樹形dp簡單總結

最近幾天一直在做樹形dp的題,感覺是有點兒虐。。做了十幾道,有很簡單的 樹的最大獨立集,樹的重心和樹的最長路徑,還有樹的依賴揹包問題以及一些比較複雜的狀態轉移。 最簡單的幾道題:Party at Hali-Bula(樹的最大獨立集),最優

原创 ubuntu 快速傳輸工具——lz4壓縮傳輸替代scp

lz4壓縮傳輸代替scp 安裝 PV : sudo apt-get install pv 安裝lz4:  https://github.com/lz4/lz4    make   sudo make install 參考: https:/

原创 vim插件管理與配置

Vim個人常用的插件: 1.Vundle 首先使用Vundle來管理插件 https://www.cnblogs.com/inrgihc/articles/7908943.html 使用: (1)在~/.vimrc中 添加 Bundle或

原创 線段樹掃描線(感覺不錯就轉載了..)

線段樹輔助——掃描線法計算矩形面積並 分析: 1.矩形比較多,座標也很大,所以橫座標需要離散化(縱座標不需要),熟悉離散化後這個步驟不難,所以這裏不詳細講解了,不明白的還請百度 2.重點:掃描線法:假想有一條掃描線,從左往

原创 2. Add Two Numbers+鏈表的簡單應用

/** 這道題不是很難,主要是有一些細節需要注意  * Definition for singly-linked list.  * struct ListNode {  *     int val;  *     ListNode *ne