又是一天的考試,又是一天的爆0。
一道數學競賽題,非常的神奇。主要是要把題目所求轉化為組合計數。
原題的公式是 ∑n
k1=0
∑nk2
=0⋅⋅
⋅⋅⋅∑
nkm=
0∏m−
1j=1
(kj+
1kj)
可以得到公式 an
s=∑n
k=0m
k=mn
+1−1
m−1
最後用費馬小定理與逆元完成計算。
#include
#define mod 1000000007
using
namespace
std;
long
long sum=1;
void ksm(long
long a,long
long b)
if(b%2==1)
sum=(sum*a)%mod;
a=(a*a)%mod;
b=b/2;
ksm(a,b);
}int main()
是全卷最難的一道題,因為每乙個車會控制一行和一列,所以將列和行分開計算。
使用兩個map
進行維護。
時間複雜度o(
n∗lo
gn2)
#include
#include
#include
#include
#include
using
namespace
std;
int n,k,q;
long
long sol;
map rcnt,ccnt;
map rxor,cxor;
mapint,int>,int> rook;
void moverook(int r,int c,int val)
void init()
}void solve()
因為乙個數被取模最多lo
gx2 次,所以關鍵便是找到下一次被mod的位置即可。
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
int l,r,now,pl,n,m;
int num[100010];
struct node
tree[400010];
inline
void r(int &v)
}void updata(int k)
void read()
void build(int k,int s,int t)
int mid=(s+t)>>1;
build(k<<1,s,mid);
build(k<<1|1,mid+1,t);
updata(k);
}void query(int k,int s,int t,int l,int r)
int mid=(s+t)>>1;
query(k<<1,s,mid,l,r);
query(k<<1|1,mid+1,t,l,r);
}int mid=(s+t)>>1;
if(l<=mid)
query(k<<1,s,mid,l,r);
if(r>mid)
query(k<<1|1,mid+1,t,l,r);
}int main()
cout
<'\n';
}return
0;}
20161115課堂筆記
1 運算子 短路和 短路或運算子。2 if和if else用於選擇條件。3 switch語句有一到多個case語句組成。switch語句中的值可以使byte short int 或char型別。case語句的值必須是乙個常量表示式或字面量。4 while迴圈用於重複執行任務。while迴圈體中的語句...
考試總結 CQOI2017 考試總結
再奮鬥一年,爭取ak noip2016 cqoi2017 這是去年我立的flag。看考場,電腦挺快,而且配置和評測機一樣,可以放心的在自己的電腦上卡常測試啦,好評。碼了一道fft的題,沒網只好拷著回家交,鍵盤蜜汁小,enter佔據了兩行,旁邊還有關機按鈕。座位安排奧妙重重,和巴蜀dyf大神坐在一起。...
2016 11 15 HTML例項複習2
iframe url scheme scheme 定義網際網路服務的型別。最常見的型別是 http。host 定義域主機 http 的預設主機是 www domain 定義網際網路網域名稱,比如 w3school.com.cn。port 定義主機上的埠號 http 的預設埠號是 80 path 定義...