Time of Update: 2018-12-05
我的大學,我的高考! “當你實在堅持不下去的時候,就是發生質變的時候!”黃恒峰學長如是說,不知道為什麼,他的這一句話重重地抨擊到了我的心裡! 六月八號那天晚上,我們資訊安全二班聚會,大家聚在一起吃飯,k歌,很high,真的很high!不知道為什麼,我依舊開心不起來,吃飯的時候,我想到了高三最後一次的謝師宴,大家也聚在一起,只不過那時的排場比較高,飯菜比較豐盛,那個時候,一盤盤美觀可口的菜肴接二連三的上,大部分的人吃的很少很少,很多東西都浪費了,很窩心!現在這飯呢,吃的更惱火,兩菜相上的時間
Time of Update: 2018-12-05
描述: 我們把序列排成不增序,即d1>=d2>=...>=dn,則d可簡單圖化若且唯若d'=(d2-1, d3-1, ... d(d1+1)-1, d(d1+2), d(d1+3), ... dn)可簡單圖化。這個定理寫起來麻煩,實際上就是說,我們把d排序以後,找出度最大的點(設度為d1),把它和度次大的d1個點之間連邊,然後這個點就可以不管了,一直繼續這個過程,直到建出完整的圖,或出現負度等明顯不合理的情況。舉例:序列S:7,7,4,3,3,3,2,1 刪除序列S的首項
Time of Update: 2018-12-05
#include <iostream>#include <cstring>#include <cstdlib>#include <cstdio>#define N 100100using namespace std;int fcmp(const void *p1,const void *p2){ return strcmp((char*)p1,(char*)p2);}int main (){ //freopen("a.txt","r",
Time of Update: 2018-12-05
倒水問題,bfs+雜湊,需要將每一步的總倒水量全部存起來,最後再排一次序,將小於等於d 的最大的d及其匹配的總到水量輸出即可。代碼如下:#include <iostream>#include <algorithm>#include <cstring>#include <cstdlib>#include <cstdio>#include <cmath>using namespace std;const int MAXSIZE
Time of Update: 2018-12-05
當今世界智商最高十大天才1.Stephen William Hawking(斯蒂芬·威廉·霍金) 今年70歲,智商160。他或許是這個榜單上最令人熟知的人。有關他的介紹太多太多,被譽為繼愛因斯坦之後世界上最著名的科學思想家和最傑出的理論物理學家,被譽為“宇宙之王”Stephen William Hawking 2.Kim
Time of Update: 2018-12-05
開始用的回溯TLE了,後來改用全排列+DFS AC。代碼如下:(0.728s):#include <iostream>#include <algorithm>#include <cstring>#include <cstdlib>#include <cstdio>#include <cmath>using namespace std;int a[5], flag;void solve(int cur, int sum){
Time of Update: 2018-12-05
杭州網路賽的題,可以假設殺掉一個敵人後,劍落在地上,以後還可以撿起來,這樣問題就可以簡化不少。/** 貪心題,倆種方式,一種優先考慮bi不為0的情況,因為這樣可以造成不消耗耐久連續殺人;一種優先考慮,bi為0的情況,比如特殊資料:input:5 81 02 02 03 06 1output:4 83 7 或 3 8(為錯誤答案)只考慮bi為0的個體,比先考慮bi不為0的情況,殺的人要多。倆種方案最後比較取出最有解。**/#include <stdio.h>#include
Time of Update: 2018-12-05
描述:dp題目,對二維數組直接輸入,沒有轉化提交時一直wa,後來轉化後,提交就正確了,狀態方程dp[i][j][m]+=dp[i+1][j][m-num[i][j]]+dp[i+1][j+1][m-num[i][j]],從下往上狀態轉移便於輸出#include <cstdio>#include <cstring>int n,m,p;int num[50][50];long long sum,dp[50][50][510];int main(){ // freopen(
Time of Update: 2018-12-05
在c語言裡面,兩個函數包含在<stdlib.h>標頭檔裡面,c++裡面,標準庫<cstdlib>(被包含於<iostream>中). srand函數是隨機數發生器的初始化函數。 原型:void srand(unsigned seed); rand函數用來產生隨機數,當然是偽隨機數。 原型:int rand(void)
Time of Update: 2018-12-05
描述:狀態方程p[i][j]=dp[i-1][k]+dist(k+1,j),由於沒搞懂距離dist是怎麼計算的,以為是num[j]-num[k+1],結果wa了一次,在狀態轉移的時候,採用一個數組sc記錄一下節點的位置#include <cstdio>#include <cstring>#define N 0x7fffffff;int num[210];int dp[35][210];int sc[35][210];void show(int cur,int pos){
Time of Update: 2018-12-05
凹函數求極小值,三分。代碼如下:#include <iostream>#include <cstdio>#include <cmath>#include <cstdlib>#include <cstring>using namespace std;double fx(double x, double y){ return 6*pow(x,7)+8*pow(x,6)+7*pow(x,3)+5*pow(x,2)-y*x;}int
Time of Update: 2018-12-05
#include<cstdlib>#include<iostream>#include<cstdio>#include<cmath>#include<set>#include<cstring>#include <algorithm>#define inf 0x7fffffff#define N 1000#define MIN 1e-11#define M 10001#define MM 20020#define
Time of Update: 2018-12-05
最長公用子序列,將1改為相應權值(即:每個長方體的高度值),其中注意給出的n個長方體,是長方體的種數,也就是說每種長方體可以有無數個。代碼如下:#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>using namespace std;int step[3][3]={{0,1,2}, {0,2,1}, {1,2,0}};int num, dp[100],
Time of Update: 2018-12-05
描述
Time of Update: 2018-12-05
#include<cstdlib>#include<iostream>#include<cstdio>#include<cmath>#include<set>#include<cstring>#include <algorithm>#define N 1000000#define MIN 1e-11#define M 32010#define MM 70000using namespace std;int
Time of Update: 2018-12-05
#include<cstdlib>#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include <algorithm>#include<queue>#include<set>#define LL long long#define inf 0x7fffffff#define E 1e-7#define M
Time of Update: 2018-12-05
作者:July 二零一一年一月一日---------------------------------本人蔘考:演算法導論 本人聲明:個人原創,轉載請註明出處。ok,開始。翻遍網上,關於此類BFS和DFS演算法的文章,很多。但,都說不出個所以然來。讀完此文,我想,你對圖的廣度優先搜尋和深度優先搜尋定會有個通通透透,徹徹底底的認識。---------------------咱們由BFS開始:首先,看下演算法導論一書關於 此BFS
Time of Update: 2018-12-05
【題意】有n個商店m個供應商k種商品給各商店的各種商品的需求量和各供應商的供應量以及供應商和商店之間的運輸費用,求滿足需求的最小費用【輸入】多組資料每組資料第一行n,m,k(均小於50)接下來n行每行k個數,表示需求量(0到3)接下來m行每行k個數,表示供應量(0到3)接下來k個n*m矩陣表示商店和供應商之間的運輸費用輸入由第一行三個0結束【輸出】每組資料輸出一個數,表示最小費用//在多重迴圈中一定注意下標容易出錯,i,j,k!!!#include<cstdlib>#include&
Time of Update: 2018-12-05
//測試範例://(3,l) (4,r) ()//(11,ll) (7,l) (8,lll) (7,l) (7,) ()//(11,ll) (7,lll) (4,l) (5,) ()//(11,ll) (7,l) (8,lll) (7,) ()//(11,ll) (8,lll) (7,) ()//(11,ll) (7,lll) (8,r) (5,) (4,l) (13,rl) (2,llr) (1,rrr) (4,rr) ()#include <iostream>#include &
Time of Update: 2018-12-05
問題:給定一個字串s[1...n],求它的所有尾碼中最小的一個。(本文中字串之“大”“小”均對字典序而言。)演算法:定義v[1..n],其中v[i]=k表示s[i..i+k-1]在s的所有長度為k的字串中最小。我們求出每個v[i]最大的取值,再找到所有的v[i]中最大的一個,s[i..n]就是問題的答案。基本思想是這樣的(先不設計實現時的資料結構):先將所有的1..n都儲存在一個列表裡。每次掃描列表裡所有的i,若其v[i+v[i]]>0,則可以將i+v[i]從列表裡刪去,v[i]+=v[i