Time of Update: 2018-12-03
//並差集求最大秩//一堆學生間接或直接互為朋友則合并//人數最多的集和的人數即為最大秩//不知道為什麼G++逾時但是C++過了#include <iostream>using namespace std;int Father[10000001];int Rank[10000001];int T;int Max;void Make_Set(int x){Father[x] = x;Rank[x] = 1;}int Find(int x){while(x !=
Time of Update: 2018-12-03
廣搜32MS,這題比較簡單,進行各種變換推狀態就行了#include <iostream>#include <queue>#include <string>#include <cstring>using namespace std;typedef struct{int password[4]; //4位密碼int step; //步數}pass;int target[4]; //最終密碼int T;string
Time of Update: 2018-12-03
java applet不需要main函數,它們依靠瀏覽器運行。Applet類提供了一個基本的架構結構,使得Applet可以在Web瀏覽器中運行。每個applet都是java.applet.Applet的子類。Applet類是一個AWT類,它不能和Swing組件一起工作。要在java appplet中使用Swing組件,必須通過擴充javax.swing.JApplet來建立一個java
Time of Update: 2018-12-03
1A 0MS 注意座標方向#include <iostream>#include <queue>#include <string>#include <cstring>using namespace std;typedef struct{int x;int y;int z;int step;}point;int N;char map[11][11][11];bool visited[11][11][11];point
Time of Update: 2018-12-03
#include <iostream>#include <cstring>using namespace std;int Father[1001];int Rank[1001];int T;int N,M;int sum;void Make_Set(int x){Father[x] = x;Rank[x] = 1;}int Find(int x){while(x != Father[x])x = Father[x];return x;}void Union(int
Time of Update: 2018-12-03
貌似做過好幾遍了。。。#include <iostream>#include <cstring>using namespace std;int m,n;char map[105][105];bool visited[105][105];int num;int dirX[8] = {-1,-1,0,1,1,1,0,-1};int dirY[8] = {0,1,1,1,0,-1,-1,-1};void DFS(int x,int y){visited[x][y] =
Time of Update: 2018-12-03
經典樹塔問題DP:s[i][j] = max{s[i+1][j],s[i+1][j+1]} + a[i][j]#include <iostream>#include <cstring>using namespace std;int a[101][101];int s[101][101];int C;int N;int main(){cin>>C;while(C--){cin>>N;for(int i = 1; i <= N;
Time of Update: 2018-12-03
狀態轉移方程為b[i]=max(b[j]+a[i],b[i]) 其中(a[j]<a[i],表示i可以從j跳過去)(0<=j<i)我覺得還可以最佳化#include <iostream>using namespace std;int N;int a[1001];int b[1001];int DP(){int max = a[1];b[1] = a[1];for(int i = 2; i <= N; i++){b[i] = a[i];for(int j =
Time of Update: 2018-12-03
//直接從a向r搜尋,不需要用優先隊列#include <iostream>#include <queue>#include <cstring>using namespace std;typedef struct{int x;int y;int step;}point;int N,M;char map[205][205];bool visited[205][205];int s_x,s_y;int dirX[4] = {-1,0,1,0};int dirY[4
Time of Update: 2018-12-03
水題#include <iostream>#include <cstring>#include <cmath>using namespace std;int Ki[23][23];int value[23][23];int N,M;int cal_val(int x,int y){if(x*y < 0)return abs(y);else if(x*y > 0)return -abs(y);elsereturn 0;}int
Time of Update: 2018-12-03
//看題代碼加刷人人一共做了10分鐘,搜尋題現在真水#include <iostream>#include <cstring>using namespace std;int W,H;char map[21][21];bool visited[21][21];int dirX[4] = {-1,0,1,0};int dirY[4] = {0,1,0,-1};int s_x,s_y;int num;void DFS(int x,int y){visited[x][y] =
Time of Update: 2018-12-03
#include <iostream>#include <cstdio>#include <cstring>using namespace std;int n;char map[35][35];long long paths[35][35];bool visited[35][35];long long DP(int x,int y){if(x < 0 || x >= n || y < 0 || y >= n)return
Time of Update: 2018-12-03
做的很艱難,還參考了一下別人的。。。。。子問題是以每個矩形為底的塔的最大高度,所有子問題的解中最大的一個就是原問題的解,其中以某個矩形為底的塔的高度可以由自身高度加上可以放在其上的塔的最大高度得到#include <iostream>#include <algorithm>#include <cstring>using namespace std;int n;typedef struct{int xi;int yi;int zi;int base;
Time of Update: 2018-12-03
今天早上花了半個小時學了一下Emacs,瞬間我就想拋棄vim了Emacs命令參考 C-v 查看下一屏文字 M-v 查看上一屏文字 C-l 重繪螢幕,並將游標所在行置於螢幕的中央 游標定位命令 C-p 上一行 C-n 下一行 C-f 下一個字元 C-b 上一個字元 M-f 下一個單詞 M-b 上一個單詞 C-a 定位到行首 C-e 定位到行尾 M-a 定位到句首 M-e 定位到句尾 M-< 移動到文章開頭 M-> 移動到文章結尾 M-{ 向前移動一段 M-} 向後移動一段 M-g
Time of Update: 2018-12-03
#include <iostream>using namespace std;int n;char map[5][5];int res;bool judge(int x,int y){for(int i = x; i >= 0; i--){if(map[i][y] == '0'){return false;}if(map[i][y] == 'X'){break;}}for(int j = y; j >= 0; j--){if(map[x][j] ==
Time of Update: 2018-12-03
//資料的分組與彙總GROUP BY 用於根據前面的的參數集分組結果SELECT _StateFORM MemberDetailsGROUP BY _State;SELECT _StateFROM MemberDetailsWHERE _State IN ('Mega state','Golden State','new State')GROUP BY _State;//可以基於多列分組SELECT _StateFROM MemberDetailsWHERE _State IN ('Mega
Time of Update: 2018-12-03
--進階查詢的一些技巧--1.使用AND時,盡量將很可能不為真的條件放在前面--2.使用OR運算子時,盡量將最可能為真的條件放在前面--3.DISTINCT比ORDER BY更快SELECT MemberIdFROM OrdersGROUP BY MemberId;--SELECT DISTINCT MemberIdFROM Orders; --4.限制聯合的結果,從資料庫中提取的資訊越少,速度越快--5.對子查詢使用IN運算子WHERE MemberId = (SELECT MemberId
Time of Update: 2018-12-03
#include <stdio.h>#include <conio.h>int partition(int *R,int low,int high) //快速劃分{ int key; key=R[low]; while(low<high) { while(low<high&&R[high]>key) high--;
Time of Update: 2018-12-03
轉載自http://tiger506.blog.51cto.com/318536/367624使用一段時間Fedora後會想聽聽mp3,意外發現預設的播放器竟然無法播放,別急,這篇博文閱畢此題可解。1.先安裝RPM Fusion(RPM Fusion提供Fedora 或 Red Hat下不提供的軟體,是一個第三方軟體褲),一定要先安裝。安裝方法:2.安裝播放器 Audacious (在安裝完RPM
Time of Update: 2018-12-03
基本思想:訪問頂點v0,然後訪問v0鄰接的未訪問過的頂點v1,再從v1出發遞迴的按照深度優先的方式遍曆。當遇到一個所有鄰接於它的頂點都被訪問過的頂點u時,則回到頂點序列中最後一個擁有未被訪問過的相鄰節點的頂點W,從W繼續出發。最終當任何已被訪問過的節點都沒有未被訪問的節點時,遍曆結束。bool visited[maxn]={0};void DFS(int x){ visited[x]=true; printf("%d\n",x); int i;