原创 PAT乙級 1020 1023 與區間貪心

1020 月餅 (25 分) 問題描述: 就是從不同種類的月餅中,選出D重量的月餅,使得收益最大。允許某種月餅可以只取一部分。 解題思路: 先將每種月餅的單價計算出來,然後按照從大到小順序排序,然後根據D需求量選擇月餅。某種月餅不

原创 PAT乙級 1008

1008 數組元素循環右移問題 (20 分) 想法就是將數組分成(A ,B)兩部分,B的長度就是右移的長度。先求A的逆置,B的逆置,得到(A逆,B逆),在對整體求逆,最後得出(A逆,B逆)逆。 代碼如下: #include <st

原创 安大機試2018 斐波拉切數列

求出斐波拉且數列第n項對19260817取餘的結果。我一開始是先求出第n項的值,然後在對19260817進行取餘操作,但是當n的值非常大的時候,結果已經溢出,所以正確做法是再求得過程中就進行取餘操作。 代碼如下: #include

原创 PAT乙級 1001-1005

寫了5題才通過了3個,那兩個實在不知道怎麼回事了?。菜的一筆。 前幾個感覺沒什麼好記錄的點,雖然1003還沒完全對。後面兩個題還是可以記一下 1004 最近遇到好幾個題目都和這個方面有點關聯。先是考研的專業課裏面,出了一個編程題

原创 AHUOJ 楊輝三角2

問題描述 程序輸入說明 行1:一個整數n,n∈[1,20] 程序輸出說明 行1-行n:要求的楊輝三角,以空格分隔數字 程序輸入樣例 4 程序輸出樣例 1 1 1 1 1 2 3 1 3 1 解題思路: 平常看到的楊輝三角應該是

原创 安大機試2018 單調棧

問題描述: 定義一個單調棧:每次整數n入棧時,如果棧頂元素大於n,則棧頂元素出 棧,並且繼續判斷棧頂元素是否大於n,大於則出棧,重複操作,直到棧頂 元素不大於n,n入棧。入棧完畢。例如:棧中元素爲2 3 7,如棧元素爲6, 則7出

原创 PAT乙級1007和指針

1007 素數對猜想 (20 分) “素數對猜想”認爲“存在無窮多對相鄰且差爲2的素數”。現給定任意正整數N(<10^​5​​ ),請計算不超過N的滿足猜想的素數對的個數。 我想的是先把N裏面的素數先算出來,用一個鏈表存下來,然

原创 Golang緩存IO

最近一直用的golang,然後寫pat1015德才論的時候出了問題,運行超時,不是說golang速度還可以嗎。 於是從網上找了同樣的c++做了一下比較,發現同樣的數據(10萬行,一行3個整數),c++幾十毫秒就完成,golang要

原创 Git 的使用(3)

提交歷史查看 最簡單的查看就是git log。 在一行進行顯示就是:git log --pretty=oneline,oneline也可以改成short,full,fuller。但是我用的多的就直接git log --onelin

原创 Go實現AES加密過程

網上搜了一下AES的實現過程,用的go很少,在GitHub上有幾個,但是他們的好像有些問題。加密之後之後在解密不出,看他們的代碼,有地方有些錯,比如列混淆那裏的數組就用錯了,key拓展有的也不對。索性自己重寫了。 代碼在githu

原创 Git 的使用 (2)

遠程部分 創建SSH KEY 在本地機器上打開git GUI,產生一個公鑰。在打開GitHub的賬戶設置,將公鑰添加進去。用指令生成公鑰就是 ssh-keygen -t rsa -C "[email protected]

原创 Go AES CBC模式加密

CBC 模式 在CBC模式中,每一個密文分組yi在用密鑰K加密之前,都要先跟下一個明文分組xi+1相異或。但是第一個分組沒有東西和他異或,所以需要定義一個IV(Initialization Vector),長度和分組一致,定義y0

原创 Go 實現TCP

go裏面實現tcp沒有像之前寫的C++那些那麼麻煩,在C++裏面要先創建套接字,然後綁定ip地址。go裏面直接就一個函數建立套接字,然後在進行通信就可以了。 server 首先調用Listen函數,指定協議類型,IP地址和端口號

原创 Go 語言之旅_2(通道、併發互斥)

練習:等價二叉查找樹 這裏要求實現Walk和Same函數,將樹的值依次送到通道里,然後在再Same裏進行比較。這裏使用到了通道。 Walk()函數就按照中序遍歷進行輸出,遍歷到中間節點時不用輸出,直接送到通道里就可以了,通道是帶

原创 Markdown 學習

CSDN的這個Markdown編輯模式感覺還可以,之前在GitHub上下載別人的項目,裏面總有個後綴md的文件。用普通的模式打開和普通的文本開起來沒什麼區別,但是在網頁上顯示就有標題,有層次,感覺很不錯。後來瞭解到這個是叫Mark