原创 大連網賽 1009 HDU5876 稠密圖的最短路

#include<cstdio> #include<vector> #include<queue> #include<set> using namespace std; const int maxn=200010; int n,m,s,u

原创 51node 1678 lyk與gcd

這天,lyk又和gcd槓上了。 它擁有一個n個數的數列,它想實現兩種操作。 1:將  ai 改爲b。 2:給定一個數i,求所有 gcd(i,j)=1 時的  aj  的總和。 n,Q(1<=n,Q<=100000) ai(1<=ai<

原创 POJ 1830 開關問題 高斯消元

題意:給你N個開關,其中某些開關之間是相互影響的,即一個開關控制多個,那麼每個開關操作與否爲一個變元,有N個變元,開關之間相互影響的係數設爲1,否則爲0,對模2高斯消元求解自由變元個數。 #include<iostream> #incl

原创 51node 1537 分解

問(1+sqrt(2)) ^n (n<=1e18) 能否分解成 sqrt(m) +sqrt(m-1)的形式  如果可以 輸出 m%1e9+7 否則 輸出no 剛開始看這題的時候是一臉懵逼,之後便暴力跑了幾組數據出來瞅瞅,瞅了有一會兒發現一

原创 高斯消元原理

高消一直是ACM中高層次經常用到的算法,雖然線性代數已經學過,但高消求解的問題模型及高消模板的應用變化是高消的最複雜之處。 先介紹一下高消的基本原理:引入互聯網czyuan的帖子: 高斯消元法,是線性代數中的一個算法,可用來求解線性方程組

原创 SGU 275 高斯消元

#include<iostream> #include<cstring> #include<cstdio> #include<cmath> #define LL long long using namespace std; const i

原创 2015年湖南省省賽E題 簡單的圖論問題 CSU1780

題意很簡單,寫兩個優先隊列的bfs即可,dis小的排在前面即可,第二個bfs開一個變量記錄每次從當前位置轉移到下一個位置的方向即可。 #include<iostream> #include<cstdio> #include<cstri

原创 HDU 5833 高斯消元

首先,一個完全平方數的每個質因子的冪一定是偶數。對每個數進行質因數分解,令其中冪爲奇數的係數爲1即可。 #include<iostream> #include<cstring> #include<cstdio> #include<cmat

原创 51node 1419 最小公倍數挑戰

幾天以前,我學習了最小公倍數。玩得挺久了,想換換口味。 我不想用太多的數字,我想從1到n中選三個數字(可以相同)。使得他們的最小公倍數最大。(n<=10000000) 首先考慮n爲奇數,顯然n,n-1,n-2這三個數互質,結果爲三者乘積;

原创 青島網賽1002 HDU5879 Cure

首先題目要求保留小數點後5位,那麼當n大到一定程度,前5位是不會再改變了。對於會變的情況直接打表預處理,大於則直接輸出不變的結果。題目很坑,沒說n的範圍,需要用字符串讀入。 #include<iostream> #include<cst

原创 數組模擬實現鄰接表

之間都是用vector模擬鄰接表,但是後面發現vector時間複雜度有點高,所以寫了份用數組模擬鏈表的方法實現鄰接表 #include<iostream> #include<cstdio> #include<cstring> usin

原创 TCP/IP網絡編程,一個簡單的TCP server

用TCP協議編寫一個簡單的服務器,客戶端,服務器一直監聽本機的6666端口。 server.cpp代碼 #include <errno.h> #include <netinet/in.h> #include <stdio.h> #inc

原创 51nod 1358 浮波那契

構造新數列f(n)=f(n-10)+f(n-34),n>40,f(n)=1,n<=40,則FB(n)=f(10n) #include<iostream> #include<cstdio> #include<cstring> using n

原创 青島網賽1005 HDU5882 Balanced Game

水水水! #include<iostream> #include<cstdio> #include<cstring> using namespace std; #define LL long long const int maxn=20

原创 青島網賽 1006 HDU 5883 The Best Path

可以將問題轉換爲求歐拉路徑,歐拉回路。很明顯經過每個點的次數等於該點度的一半,如果存在歐拉回路,那麼每個點的度都是偶數,那麼可以選擇其中一個作爲起點和終點,取個最大值。如果只存在歐拉路徑,那麼有且僅有兩個點度爲奇數,且這兩個點爲起點和終點