second
tag:圖論,連通塊,中等
2033: [poi2008]blo
時間限制:10秒 記憶體限制:162mb
題目描述
byteotia城市有n個 towns m條雙向roads. 每條 road 連線 兩個不同的 towns ,沒有重複的road. 所有towns連通。
輸入
輸入n<=100000 m<=500000及m條邊
輸出
輸出n個數,代表如果把第i個點去掉,將有多少對點不能互通。
樣例輸入
5 5樣例輸出1 22 3
1 33 4
4 5
8816題解148
和昨天的乙個題目很像,就是要實現的任務不一樣,當然做法也就不一樣。
用tarjan演算法做,處理出點所能到達的&是它子樹的連通塊size,然後其父親點size=(n-1-size子),ans+=上述相乘;最後加上其本身不能到達節點數即(n-1),最後再*2轉化為有序數即可。
#include
using
namespace std;
const
int n=
1e5+5;
const
int m=
1e6+5;
typedef
long
long ll;
typedef
struct
edge;
edge e[m]
;int n,m,x,y,cnt=
0,tim;
int dfn[n]
,low[n]
,size[n]
,f[n]
;ll ans[n]
;void
add(
int x,
int y)
void
tarjan
(int now)
}else low[now]
=low[now]
?low[now]
:dfn[t]
;//節點t如果已經訪問過,就要更新low[now]
} ans[now]+=
(ll)z*
(n-z-1)
;}intmain()
tarjan(1
);//因為題中,保證圖連通,只需要跑一次tarjan演算法即可
for(
int i=
1;i<=n;i++
)return0;
}/*5 51 2
2 31 3
3 44 5
*/
tag:計算幾何,中等
2042: [poi2008]tro
時間限制:20秒 記憶體限制:162mb
題目描述
平面上有n個點. 求出所有以這n個點為頂點的三角形的面積和 n<=3000
輸入
第一行給出數字n,n在[3,3000] 下面n行給出n個點的座標,其值在[0,10000]
輸出
保留一位小數,誤差不超過0.1
樣例輸入
5樣例輸出0 01 2
0 21 0
1 1
7.0題解
計算幾何題,首先已知三角形三點求面積公式:|(yj−yi)∗(xk−xi)−(yk−yi)∗(xj−xi)|/2;
暴力做法是,列舉所有三角形,求面積即可。公式:2*ans=∑
i<
j \sum_^n ∑j=i+1 n(yj*∑k= j+1n \sum_^n ∑k=j+1 nxk-∑k= j+1n \sum_^n ∑k=j+1 nyk*xj),維護兩個字尾和即可。 還有就是精度問題,直接用double會wa,應用ll,除以2後再保留一位小數。//正確做法
#include
#include
#include
using
namespace std;
typedef
long
long ll;
typedef
struct
point;
const
int n=
3005
;point p[n]
,t[n]
;ll sx[n]
,sy[n]
;bool
cmp1
(point a,point b)
bool
cmp2
(point a,point b)
point funj
(point a,point b)
;return p;
}int
main()
}printf
("%lld.%lld\n"
,ans/
2,ans%2*
5);return0;
}
//暴力做法,竟然沒t……?!?!%%%o(n3)
#include
using
namespace std;
typedef
long
long ll;
const
int n=
3e3+5;
typedef
struct
point;
point p[n]
;int
main()
for(i=
0;i}printf
("%lld.%lld\n"
,ans/
2,ans%2*
5);return0;
}
國慶訓練總結
國慶節前四天因為直接就和我爸會老家了,沒帶電腦。然後一直到中秋節過完第二天才回去,前四天就在老家看的知識點和大佬們部落格做的題目與題解,然後中秋節後開始做題,總結下這幾天的訓練吧,因為在家起不太來。所以做題一般都是下午開始做然後做到晚上,這幾天到現在兩個專題一共做了差不多二十個題吧,來總結下這幾天做...
國慶DAY1訓練
j 模擬 題意 移動數字 記錄一下每個數字的位置 然後如果和0的距離為1 則交換 include using namespace std struct node p 1020000 pos intcal int x,int y int a 1020000 intmain while m for in...
2017 10 8國慶小長假訓練總結
國慶放了8天,然而,其實也就是6 8號在學校機房裡的時候認真刷了,在家裡的時間還是太散漫,在家平均兩天一道題 幾乎刷不動,家裡有小孩,也幾乎沒辦法安靜下來思考什麼或者安靜的分析題解。回來之後好多了 就是機房有點冷 是順時針方向排序。為什麼我翻譯過來是順序。結合前面的,根本沒有想會是順序逆序的順序。英...