CF 284 Div 2 C (幾何規律)

2021-06-27 20:25:01 字數 837 閱讀 8821

解題思路:

把兩個點的座標分別帶入方程組,如果最後兩個值相乘為負,即異號,計數器++。其中有乙個有趣的現象,從a到b的最短步數,可以變化為求a和b之間夾了多少條直線,那麼最後只要求出直線數,即可求出最小步數。

如果一條直線夾在a和b中間,那麼把a和b的座標帶入後,所得值相乘一定為負。資料很大,中間還涉及乘法,所以開成__int64.

完整**:

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

#pragma comment(linker, "/stack:102400000,102400000")

typedef __int64 ll;

typedef double db;

typedef unsigned uint;

typedef unsigned long long ull;

/** constant list .. **/ //k[maxn];

int f(ll a , ll b , ll c , ll d , ll e)

int main()

int cnt = 0;

for(int i = 0 ; i < n ; i ++)

cout << cnt << endl;

}}

CF 284E 拓撲排序 母函式

題目思路 首先對於 bi,ci 的限制,建圖,用拓撲排序,先反向建圖,然後t d a i d表示深度,反向建圖in為0的d為1,接著對於樣例1,想新增乙個2,3和4也要跟著加進去,然後用拓撲排序,求出新增每個數所需要的總和 ac 有個坑點 t必須用long long include includeu...

CF 106 div 2 乘法dp 字尾自動機)

比賽連線 d 簡單區間dp 乙個合法的括號序列染色,一對匹配的括號必須有乙個被染成紅色或者藍色,另乙個不染色。被染色的相鄰括號不能相同顏色,問有幾種染色的方法。直接區間dp,轉移就是考慮每種情況然後相乘就可以了。include include define mod 1000000007 using ...

CF444 Div 1簡單題解

題意 給定帶點權和邊權的無向圖,現在讓你選一些點,使得 點權和 被選點對間的邊權和 最大。思路 不難證明,選擇邊和對應的兩點是最優的。include define rep i,a,b for int i a i b i using namespace std const int maxn 20001...