按题意模拟,又乱又烦,没什么可说的

#include <bits/stdc++.h>
using namespace std;
#define int long long
int n,m,w,x[5005],y[5005],c[5005];
int ac[15];
signed main() {
cin>>n>>m>>w;
for(int i=1;i<=w;i++) cin>>x[i]>>y[i]>>c[i];
for(int i=1;i<=m;i++) {
int b[105]={};
for(int j=1;j<=w;j++) {
if(c[j] && y[j]==i) b[x[j]]=1;
}
for(int j=1;j<=n;j++) if(b[j]) ++ac[i];
}
for(int i=1;i<=n;i++) {
int cntSubmit=0, cntAc=0, flagAc[15]={};
for(int j=1;j<=w;j++) {
if(x[j]==i) ++cntSubmit;
if(x[j]==i && c[j]) ++cntAc, flagAc[y[j]]=1;
}
int flag=1;
for(int j=1;j<=m;j++) if(flagAc[j]==0) flag=0;
if(cntSubmit==0) cout<<998244353<<endl;
else if(cntAc==0) cout<<1000000<<endl;
else if(flag) cout<<0<<endl;
else {
int ans = 0;
for(int j=1;j<=m;j++) if(!flagAc[j] && ac[j]) ans+=20;
for(int j=1;j<=m;j++) if(!flagAc[j] && ac[j]>=n/2) ans+=10;
for(int j=1;j<=m;j++) {
int mx=0,sum=0,fg=0;
for(int k=1;k<=w;k++) {
if(x[k]==i && y[k]==j) {
if(c[k]) {
fg=1;
sum=0;
}
else {
++sum;
mx=max(mx,sum);
}
}
}
ans+=(2-fg)*mx*mx;
}
cout<<ans<<endl;
}
}
}

Wannafly Camp 2020 Day 6M 自闭 - 模拟的更多相关文章

  1. Wannafly Camp 2020 Day 7K 修炼

    搞了半天才发现TMD是个模拟 #include <bits/stdc++.h> using namespace std; #define int long long int x,y,p,q ...

  2. Wannafly Camp 2020 Day 3I N门问题 - 概率论,扩展中国剩余定理

    有一个猜奖者和一个主持人,一共有 \(n\) 扇门,只有一扇门后面有奖,主持人事先知道哪扇门后有奖,而猜奖者不知道.每一轮,猜奖者选择它认为的有奖概率最大(如果有多个最大,随机选一个)的一扇门,主持人 ...

  3. Wannafly Camp 2020 Day 3F 社团管理 - 决策单调性dp,整体二分

    有 \(n\) 个数构成的序列 \({a_i}\),要将它划分为 \(k\) 段,定义每一段的权值为这段中 \((i,j) \ s.t. \ i<j,\ a_i=a_j\) 的个数,求一种划分方 ...

  4. Wannafly Camp 2020 Day 3D 求和 - 莫比乌斯反演,整除分块,STL,杜教筛

    杜教筛求 \(\phi(n)\), \[ S(n)=n(n+1)/2-\sum_{d=2}^n S(\frac{n}{d}) \] 答案为 \[ \sum_{d=1}^n \phi(d) h(\fra ...

  5. Wannafly Camp 2020 Day 2B 萨博的方程式 - 数位dp

    给定 \(n\) 个数 \(m_i\),求 \((x_1,x_2,...,x_n)\) 的个数,使得 \(x_1 \ xor\ x_2\ xor\ ...\ xor\ x_n = k\),且 \(0 ...

  6. Wannafly Camp 2020 Day 2D 卡拉巴什的字符串 - 后缀自动机

    动态维护任意两个后缀的lcp集合的mex,支持在串末尾追加字符. Solution 考虑在 SAM 上求两个后缀的 LCP 的过程,无非就是找它们在 fail 树上的 LCA,那么 LCP 长度就是这 ...

  7. Wannafly Camp 2020 Day 1D 生成树 - 矩阵树定理,高斯消元

    给出两幅 \(n(\leq 400)\) 个点的无向图 \(G_1 ,G_2\),对于 \(G_1\) 的每一颗生成树,它的权值定义为有多少条边在 \(G_2\) 中出现.求 \(G_1\) 所有生成 ...

  8. Wannafly Camp 2020 Day 2I 堡堡的宝藏 - 费用流

    感谢这道题告诉我KM求的是 完备 最大权匹配 :( #include <bits/stdc++.h> using namespace std; #define reset(x) memse ...

  9. Wannafly Camp 2020 Day 2J 邦邦的2-SAT模板

    #include <bits/stdc++.h> using namespace std; int main() { int n; cin>>n; cout<<n& ...

随机推荐

  1. ASP .NET CORE 源码地址

    ASP .NET CORE 源码地址:https://github.com/dotnet/ 下拉可以查找相应的源码信息, 例如:查找 ASP .NET CORE Microsoft.Extension ...

  2. C# 获取鼠标在屏幕上的位置

    获取鼠标位置及鼠标单击了哪个按键.private void GetMousePoint() {     Point ms = Control.MousePosition;     this.label ...

  3. fastJson&edis

    fastJson&redis 1. fastJson 1.1 依赖 <dependency> <groupId>com.alibaba</groupId> ...

  4. #《Essential C++》读书笔记# 第五章 面向对象编程风格

    基础知识 继承机制定义了父子(parent/child)关系.父类(parent)定义了所有子类(children)共通的共有接口(public interface)和私有实现(private imp ...

  5. P5840 [COCI2015]Divljak

    // powered by c++11 // by Isaunoya #include <bits/stdc++.h> #define rep(i, x, y) for (register ...

  6. C#设计模式学习笔记:(4)建造者模式

    本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/7614630.html,记录一下学习过程以备后续查用. 一.引言 在现实生活中,我们经常会遇到一些构成比较复杂 ...

  7. java设计模式学习笔记--接口隔离原则

    接口隔离原则简述 客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应建立在最小的接口上 应用场景 如下UML图 类A通过接口Interface1依赖类B,类C通过接口Interface1依赖类 ...

  8. MySQL int、char、varchar 最大值是多少?

    1.int(len) (1)max(len) = 255 (2)存储范围: 带符号整数:-2147483648-2147483647. 无符号(unsigned)整数:0-4294967295. 2. ...

  9. STL-queue 队列

    #include <iostream> #include <queue> using namespace std; int main() { // queue也很简单 // p ...

  10. 将smarty安装到MVC架构中

    首先是composer.json { "require": { "smarty/smarty": "^3.1" }, // 自动加载 // ...