jzoj 3903 艱難的選擇
jzoj 3914 人品問題
後續求∑i=
1yxm
od
y\sum_^yx \mod y
∑i=1y
xmod
y 那麼這道題其實高仿餘數求和的題目,my 題解
那麼首先這個式子可以改寫成xy−
∑i=1
y⌊xi
⌋×
ixy-\sum_^y\lfloor\frac\rfloor\times i
xy−i=1
∑y⌊
ix⌋
×i那麼這個⌊xi
⌋\lfloor\frac\rfloor
⌊ix
⌋是有一定的頻率的,那麼中間的部分就可以省略掉了,所以說只要確定它的區間那麼就可以用等差數列求解。
舉個例子:x=12
,y=12
x=12,y=12
x=12,y
=12那麼區間分別為[1∼
1],[
2∼2]
,[3∼
3],[
4∼4]
,[5∼
6],[
7∼12]
[1\sim 1],[2\sim 2],[3\sim 3],[4\sim 4],[5\sim 6],[7\sim 12]
[1∼1],
[2∼2
],[3
∼3],
[4∼4
],[5
∼6],
[7∼1
2]答案分別為12,12
,12,12
,22(⌊
125⌋(
5+6)
×(6−
5+1)
÷2),
57(⌊12
7⌋(7
+12)×
(12−7
+1)÷
2)
12,12,12,12,22(\lfloor\frac\rfloor(5+6)\times (6-5+1)\div2),57(\lfloor\frac\rfloor(7+12)\times (12-7+1)\div2)
12,12,
12,1
2,22
(⌊51
2⌋(
5+6)
×(6−
5+1)
÷2),
57(⌊
712
⌋(7+
12)×
(12−
7+1)
÷2)
#include
#define rr register
using
namespace std;
typedef
unsigned
long
long ull;
ull x,y,ans;
signed
main()
return
!printf
("%llu"
,ans)
;}
找到乙個最長的區間,使區間內0和1的個數相同
首先今天打了乙個二分,結果錯漏百出,用自己做的資料測來測去都是錯的,於是我無奈打了乙個暴力,結果ac了,不過非正解,所以比賽結束後按照wyc的思路,也就是建立乙個差分陣列,再用乙個桶記錄最遠且差分值相同的起點,再用終點減去起點即可
#include
#include
#define rr register
#define max(a,b) (((a)>(b))?(a):(b))
using
namespace std;
int n,ans,v[
200001];
signed
main()
return
!printf
("%d"
,ans)
;}
在樹上選擇k
kk個點,要求這k
kk個點的父親包含在k
kk個點中,根節點可以算作包含k
kk個點中,並使k
kk個點的點權和最大
設f [x
][t]
f[x][t]
f[x][t
]表示節點為x
xx,在該子樹選擇t
tt個點的最大點權,那麼f[x
][i′
+j′+
1]=m
ax
f[x][i'+j'+1]=max\
f[x][i
′+j′
+1]=
max
#include
#include
#include
#define rr register
using
namespace std;
int n,k,f[
101]
[101
],a[
101]
,l[101
],r[
101]
,len[
101]
;inline
signed
iut(
)inline
signed
max(
int a,
int b)
inline
void
dfs(
int x,
int dep)
len[x]
=len[l[x]
]+len[r[x]]+
1;}signed
main()
話說今天洛谷是大兇
NOIP提高組 矩陣
在麥克雷的面前出現了乙個有n m個格仔的矩陣,每個格仔用 或 表示,表示這個格仔可以放東西,則表示這個格仔不能放東西。現在他拿著一條1 2大小的木棒,好奇的他想知道對於一些子矩陣,有多少種放木棒的方案。因為棍子是1 2的,所以很容易就能發現,兩個被分割的塊,除了跨越兩個塊擺放木棍的方案數會對答案有影...
NOIP提高組2005 過河
過河 river 問題描述 在河上有一座獨木橋,乙隻青蛙想沿著獨木橋從河的一側跳到另一側。在橋上有一些石子,青蛙很討厭踩在這些石子上。由於橋的長度和青蛙一次跳過的距離都是正整數,我們可以把獨木橋上青蛙可能到達的點看成數軸上的一串整點 0,1,l 其中l是橋的長度 座標為0的點表示橋的起點,座標為l的...
NOIP提高組 20151029模擬
其實這套題目並不算太難,但是還是發揮不了100 水平。第一題直接線性篩法,求出質數,然後就可以判斷乙個數是否為質數了。這道題還可以用miller rabin去求,後者的速度較快,如果資料再大些,就要使用後者了。第二題,比賽時發現了,當n 7時,答案會每四個一迴圈,但是就沒有繼續往下想,其實想下去會想...