2019南京ICPC網路賽A題

2021-09-26 21:04:42 字數 1488 閱讀 8590

二維偏序,利用二維字首和的思想,乙個矩陣(x1,y1,x2,y2)可以由(0,0,x2,y2)+(0,0,x1-1,x2-1)-(0,0,x1-1,y2)-(0,0,x2,y1-1)得出,所以按x軸排序,用樹狀陣列記錄y軸的(0,y]的值,然後就ok了。

此題有乙個nc坑點,就是他讓你計算的乙個點的權值不是這個值在螺旋矩陣中的值,而是螺旋矩陣的值的每位數的和,列如5*5的螺旋矩陣在(3,3)為25,但是其實這個點的權值是7(2+5),而且樣例因為都是個位數所以按權值和算完全符合!

螺旋矩陣給出座標求出相應值的函式是copy的網上的模板。

#include

#include

#include

#include

using

namespace std;

const

int max_n=

1e5+

1000

;int n;

struct skta[max_n]

;struct ktb[

4*max_n]

;struct ssgque[max_n]

;bool

cmp(skt a,skt b)

bool

cmpp

(kt a,kt b)

int sum[

1010000];

void

add(

int p,

long

long x)

}int

ask(

int p)

return ans;

}long

long

asking

(long

long n,

long

long a,

long

long b)

else

ans=4*

(n-q)

*q-a-b+

2*q+1;

return ans;

}int

work

(long

long x)

return ans;

}int

main

(void

)sort

(a,a+m,cmp)

;for

(i=0

;i)sort

(b,b+

4*q,cmpp)

;int cnta=

0,cntb=0;

a[m]

.x=1e9

;b[4

*q].x=

1e9;

while

(cnta4*q)

else

}//cout<<"asdfa\n";

for(i=

0;i<

4*q;i++

)for

(i=0

;ireturn0;

}

2019 ICPC 南京網路賽D Robots

link 思路link 題意 給出乙個n個點的dag,起點保證為1,終點保證為n,在每乙個點,每一天有等概率走向其相鄰的點或是停在原點。在第i天的損耗值為i,求走到終點的期望損耗值。思路定義兩個陣列d i c i d i c i d i c i 分別代表第i個位置到終點的期望天數以及期望損耗值。可以...

2019icpc南京網路賽 A 主席樹

給乙個 n times n 的螺旋矩陣,給出其中的 m 個點的值分別為各個點上數字的數字之和,給出 q 個詢問,每次詢問從 x1,y1 到 x2,y2 的子矩陣的和。用官方題解的方法 o 1 推出點 x,y 上的值,將這 m 個點按 x 排序後依次按 y 建主席樹,查詢時找到對應的 x1 和 x2 ...

ICPC 南京賽區網路賽 A

題目大意就是,給你乙個數n 然後給你乙個公式求s,讓你輸出s n 這個題目不用想,直接用用題目中的公式暴力寫肯定超時 可以先手算簡化一下公式 n 1 n 1 n n 1 n 1 n!n 1 所以可得 s 1 1!n 1 n 1 2!1!3!2!n!n 1 n 1 所以s n n 1 n n 是n的倍...