QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#528655 | #6659. 외곽 순환 도로 2 | NianFeng | Compile Error | / | / | C++14 | 1.4kb | 2024-08-23 19:02:44 | 2024-08-23 19:02:45 |
Judging History
你现在查看的是测评时间为 2024-08-23 19:02:45 的历史记录
- [2024-08-23 19:02:45]
- 评测
- 测评结果:Compile Error
- 用时:0ms
- 内存:0kb
- [2024-08-23 19:02:44]
- 提交
answer
#include <bits/stdc++.h>
using namespace std;
const int N=100100;
vector<int>G[N];
vector<long long>c,w;
int v,h[N];
long long f[N][2][2][2],g[2][2][2],o;
void dfs(int x){
if(G[x].empty()){
f[x][0][0][0]=f[x][1][1][1]=0;
return h[x]=++v,void();
}
for(int y : G[x]){
dfs(y);
if(!h[x])
for(int i=0;i<=1;i++) for(int j=0;j<=1;j++) for(int k=0;k<=1;k++)
f[x][i][j][k]=max(f[y][i^1][j][k]+c[y-1],f[y][i][j][k]);
else{
for(int i=0;i<=1;i++) for(int j=0;j<=1;j++) for(int k=0;k<=1;k++)
g[i][j][k]=-1e18;
for(int i=0;i<=1;i++) for(int j=0;j<=1;j++) for(int k=0;k<=1;k++)
for(int a=0;a<=1;a++) for(int b=0;b<=1;b++) for(int z=0;z<=1;z++)
g[i][j][k]=max(g[i][j][k],f[x][i][j][a]+f[y][z][b][k]+c[y-1]*(i^z)+w[h[x]-1]*(a^b));
for(int i=0;i<=1;i++) for(int j=0;j<=1;j++) for(int k=0;k<=1;k++)
f[x][i][j][k]=g[i][j][k];
} h[x]=h[y];
}
}
long long place_police(vector<int> P, vector<long long> C, vector<long long> W){
for(int i=0;i<P.size();i++)
G[P[i]].push_back(i+1);
memset(f,0xcf,sizeof(f));
c=C,w=W,dfs(0),o=-1e18;
for(int i=0;i<=1;i++) for(int j=0;j<=1;j++) for(int k=0;k<=1;k++)
o=max(o,f[0][i][j][k]+W.back()*(j^k)); o=-o;
for(long long x : C) o+=x; for(long long x : W) o+=x;
return o;
}
詳細信息
cc1plus: fatal error: implementer.cpp: No such file or directory compilation terminated.