Codeforces 140B(模拟)
要点
- 题意读好久。大概这样理解:每个时间点按顺序收到序号1~n的卡片,只有收过的卡片才能发给别人并且主人公会发在他心中优先级最高的。由于主人公可以在任何时间给朋友发卡片,最后输出(说得很绕但等价于)1~n号朋友最好可以得到什么类型的卡片。
- 枚举时间点并看当前主角的最大优先级卡片是什么并给大家发,然后更新大家的接收类型。样例很良心,会发现只记录最大优先级的不够用,一旦等于这个人的编号就不允许发,这是该用第二优先级的来更新该人。
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n;
int cmp[305][305], ans[305];
int main() {
scanf("%d", &n);
for (int i = 1; i <= n + 1; i++) {
for (int j = 1, x; j <= n; j++) {
scanf("%d", &x);
cmp[i][x] = j;
}
}
int fir = 0, sec = 0;
memset(ans, 0x3f, sizeof ans);
for (int i = 1; i <= n; i++) {
if (!fir || cmp[n + 1][fir] > cmp[n + 1][i]) sec = fir, fir = i;
else if (!sec || cmp[n + 1][sec] > cmp[n + 1][i]) sec = i;
for (int j = 1; j <= n; j++) {
if (fir && fir != j) {
if (ans[j] > 500 || cmp[j][ans[j]] > cmp[j][fir]) {
ans[j] = fir;
}
} else if (sec && sec != j) {
if (ans[j] > 500 || cmp[j][ans[j]] > cmp[j][sec]) {
ans[j] = sec;
}
}
}
}
for (int i = 1; i <= n; i++)
printf("%d%c", ans[i], " \n"[i == n]);
}
Codeforces 140B(模拟)的更多相关文章
- CodeForces - 427B (模拟题)
Prison Transfer Time Limit: 1000MS Memory Limit: 262144KB 64bit IO Format: %I64d & %I64u Sub ...
- CodeForces - 404B(模拟题)
Marathon Time Limit: 1000MS Memory Limit: 262144KB 64bit IO Format: %I64d & %I64u Submit Sta ...
- Codeforces 709B 模拟
B. Checkpoints time limit per test:1 second memory limit per test:256 megabytes input:standard input ...
- codeforces 140B.New Year Cards 解题报告
题目链接:http://codeforces.com/problemset/problem/140/B 题目意思:给出 Alexander 和他的 n 个朋友的 preference lists:数字 ...
- CodeForces - 404A(模拟题)
Valera and X Time Limit: 1000MS Memory Limit: 262144KB 64bit IO Format: %I64d & %I64u Submit ...
- Codeforces 390A( 模拟题)
Inna and Alarm Clock Time Limit: 1000MS Memory Limit: 262144KB 64bit IO Format: %I64d & %I64 ...
- Codeforces 452D [模拟][贪心]
题意: 给你k件衣服处理,告诉你洗衣机烘干机折叠机的数量,和它们处理一件衣服的时间,要求一件衣服在洗完之后必须立刻烘干,烘干之后必须立刻折叠,问所需的最小时间. 思路: 1.按照时间模拟 2.若洗完的 ...
- CodeForces - 796B 模拟
思路:模拟移动即可,如果球落入洞中停止移动.注意:有可能第一个位置就是洞!! AC代码 #include <cstdio> #include <cmath> #include ...
- CodeForces - 864C-Bus-(模拟加油站问题)
https://vjudge.net/problem/CodeForces-864C 题意:两地之间有个加油站,往返走k个单程,最少加油多少次. 大佬几十行代码就解决,我却要用一百多行的if语句模拟解 ...
随机推荐
- BZOJ 2101 [Usaco2010 Dec]Treasure Chest 藏宝箱:区间dp 博弈【两种表示方法】【压维】
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2101 题意: 共有n枚金币,第i枚金币的价值是w[i]. 把金币排成一条直线,Bessie ...
- BZOJ 1572 [Usaco2009 Open]工作安排Job:贪心 + 优先队列【先放再更新】
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1572 题意: 有n个工作,每个工作有一个截止日期dead[i]和收益pay[i]. 完成一 ...
- IDEAL葵花宝典:java代码开发规范插件 Rainbow Brackets 插件
前言: 最近在Jetbrains IDEA插件网站逛发现了 Rainbow Brackets这款插件,非常棒,推荐给大家. 可以实现配对括号相同颜色,并且实现选中区域代码高亮的功能. 对增强写代码的有 ...
- 机器学习(九)—逻辑回归与SVM区别
逻辑回归详细推导:http://lib.csdn.net/article/machinelearning/35119 面试常见问题:https://www.cnblogs.com/ModifyRong ...
- 单元测试:TESTNG和powermock的使用
pom文件: <properties> <testng.version>6.8</testng.version> <powermo ...
- HBASE---shangxueT
- codevs 3314 魔法森林
传送门 3314 魔法森林 时间限制: 3 s 空间限制: 256000 KB 题目等级 : 大师 Master 题解 题目描述 Description 为了得到书法大家的真传,小E同学下定 ...
- BZOJ4571:[SCOI2016]美味
浅谈主席树:https://www.cnblogs.com/AKMer/p/9956734.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem.p ...
- 洛谷 1131 [ZJOI2007]时态同步——树形dp
题目:https://www.luogu.org/problemnew/show/P1131 因为越高,调节一个影响到的越多,所以底下只要把子树间的差异消除了就行了,与其他部分的差异由更高的边调节. ...
- HDU - 6025 Coprime Sequence(gcd+前缀后缀)
Do you know what is called ``Coprime Sequence''? That is a sequence consists of nnpositive integers, ...