教練終於考noip模擬題了。
真 · 簽到題,直接使用math庫函式即可。
\(\text:\)
#include #include #include #include #include using namespace std;
typedef long long lxl;
#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?eof:*p1++)
char buf[1<<21],*p1=buf,*p2=buf;
template inline void read(t &x)
while(ch>='0'&&ch<='9')
x*=f;
}int n,m;
int main()
先只考慮除了 \(2\) 以外的質數,發現只有偶數和奇數之間連邊,也就是乙個二分圖,可以只用兩種顏色。
考慮 \(2\) 其實是將偶數和奇數分別連成一條鏈,我們讓鏈上的顏色交替出現即可。
發現這樣最多只有 \(4\) 種顏色,\(n\) 比較小的時候打表即可。
\(\text:\)
#include #include #include #include #include using namespace std;
typedef long long lxl;
const int maxn=1e4+5;
#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?eof:*p1++)
char buf[1<<21],*p1=buf,*p2=buf;
template inline void read(t &x)
while(ch>='0'&&ch<='9')
x*=f;
}int n,color[maxn];
int main()
沒怎麼看懂,想找出題人對線,但是找不到出題人/kk。
\(\text:\)
#include #include #include #include #include using namespace std;
typedef long long lxl;
const int maxn=2e5+5;
#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?eof:*p1++)
char buf[1<<21],*p1=buf,*p2=buf;
template inline void read(t &x)
while(ch>='0'&&ch<='9')
x*=f;
}lxl n,m,k,a[maxn];
lxl d;
int main()
sum-=a[i];
d-=a[i]*n;
} printf("%lld\n",ans);
} return 0;
}
其實就是求樹上路徑上點 \(x\) 滿足:
\[dis(l,x)=x
\]的個數。
分成 \(l\to lca\) 和 \(lca\to r\) 兩部分考慮。將式子拆開,得到:
\[\begin
dep_l-dep_x=x&\implies dep_l=x+dep_x\\
dep_l+dep_x-2\times dep_=x&\implies dep_l-2\times dep_=x-dep_x
\end
\]樹上差分即可求出答案。
\(\text:\)
#include #include #include #include #include #include using namespace std;
typedef long long lxl;
const int maxn=3e5+5;
#define getchar() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?eof:*p1++)
char buf[1<<21],*p1=buf,*p2=buf;
template inline void read(t &x)
while(ch>='0'&&ch<='9')
x*=f;
}struct edge
edge(){}
}e[maxn<<1];
int head[maxn],ecnt;
inline void add(int u,int v)
int n,m;
namespace tree
} void dfs2(int u,int t) }
inline int lca(int a,int b)
--sum[val[u]];
}int main()
tree::dfs1(1);
tree::dfs2(1,1);
for(int i=1,l,r;i<=m;++i)
for(int i=1;i<=n;++i)
val[i]=i+tree::dep[i];
for(int i=1;i<=m;++i)
dfs(1);
for(int i=1;i<=n;++i)
val[i]=i-tree::dep[i]+n;
for(int i=1;i<=m;++i)
dfs(1);
for(int i=1;i<=m;++i)
printf("%d\n",ans[i]);
return 0;
}
測試 20201012測試總結
t1t2分往臉上送,t3直接勸退。數三角形。先固定一條直線,求它能與其他直線組成多少個三角形。這個很好求。令 s 為所有直線的集合,k i 表示直線 i 的斜率,c k 表示斜率為 k 的直線條數,則直線 l 能與其他直線組成的三角形個數即為 begin frac sum c times n c c...
測試 20200912測試總結
考完後的心情 簡單dp題,沒處理邊界,100 to 70 令 f 表示使得 a 串前 i 位變換到 b 串前 j 位的最小花費,則有轉移 text memset f,0x3f,sizeof f f 0 0 0 for int i 0 i n i for int j 0 j m j printf d ...
測試實踐 華為測試流程總結
在華為研發專案管理中,成本 進度 質量是專案控制的鐵三角,其中研發專案質量的控制包括產品測試 評審 質量保證 qa 如果涉及到硬體,還得包括fmea和新物料認證,產品測試是目前國內很多公司研發部門頭疼的環節,如何通過測試保證產品質量,如何通過測試降低產品發布的風險,如何通過測試降低因設計而造成的維護...