CSP-J 2019复赛分析
【CSP-J 2019 】复赛分析
前言(????)

总的来说,这次复赛感觉考的很不满意,至于原因,感慨万分!关键是:期中考试了!偏偏是这个时候!
- 由于我是一个初二的蒟蒻,所以考试前先定了一个目标:前两道题AC(可是现实与想象就是差INF),后两道题写个AC自动机或随机数什么的,不然就打暴力骗点分什么的。怀着这样美好的心情出发。
- 我自我感觉良好—— AK IOI
DAY -4
坐标:育才成功学校 教学楼七楼
比赛前的我们开始准备放松心态 :
DAY -2
坐标:育才成功学校 教学楼七楼
心里想:调整调整心态吧,什么都别干了,就当放了半天假。
事实上:卧槽——还有N道题没有做......
这几天,我们将这几年的初赛题都一本正经的刷了几遍(顺便将期中考试的作业都过了几遍)
DAY 1
坐标:??
今天考试了!
祝我:
cpp
while(1){
rp+=inf;
}
T1:数字游戏
这道题绝对是千万年以来最简单的题。
官方代码:
cpp
#include <iostream>
#include <cstdio>
using namespace std; int main() { freopen("number.in", "r", stdin);
freopen("number.out", "w", stdout);
string s;
cin >> s; int ans = 0;
for (int i = 0; i < 8; ++i)
if (s[i] == '1')
ans ++;
cout << ans << endl;
fclose(stdin);
fclose(stdout);
return 0;
}
T2:公交换乘
花了一个多小时时间去调试,所以我的代码有点......还是看官方的吧:
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
struct Node
{
long long type, price, t;
} a[200000]; vector<Node> v; int main()
{ freopen("transfer.in", "r", stdin);
freopen("transfer.in", "w", stdout); int n; cin >> n;
for (int i = 1; i <= n; ++i)
cin >> a[i].type >> a[i].price >> a[i].t; long long sum = 0;
for (int i = 1; i <= n; ++i)
{ if (a[i].type == 0)
{
sum += a[i].price;
v.push_back(a[i]);
}
else
{
bool flag = false;
for (int j = 0; j < v.size(); ++j)
{ if (a[i].t - v[j].t <= 45)
{
if (a[i].price <= v[j].price)
{
flag = true;
v.erase(v.begin() + j);
break;
}
}
else
{
v.erase(v.begin() + j);
j--;
}
}
if (!flag)
sum += a[i].price;
}
}
cout << sum << endl; fclose(stdin);
fclose(stdout);
return 0;
}
T3:纪念品
背包问题。
官方代码:
cpp
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std; int t, n, m;
int f[20000];
int a[200][20000];
int main()
{ freopen("souvenir.in", "r", stdin);
freopen("souvenir.out", "w", stdout); cin >> t >> n >> m; for (int i = 1; i <= t; ++i)
for (int j = 1; j <= n; ++j)
cin >> a[i][j]; for (int i = 2; i <= t; ++i) { memset(f, 0, sizeof(f));
for (int j = 1; j <= n; ++j) {
for (int k = a[i - 1][j]; k <= m; k++) {
f[k] = max(f[k], f[k - a[i - 1][j]] + a[i][j] - a[i - 1][j]);
}
}
m += f[m];
}
cout << m << endl;
fclose(stdin);
fclose(stdout);
return 0;
}
T4:加工零件
图论,最短路问题。
官方代码:
cpp
#include <bits/stdc++.h>
using namespace std;
struct Edge
{
int u, v, next;
} e[400000];
int n, m, u, v, tot, query, f[200000], d[200000][2];
bool used[200000];
queue<int> q;
void add(int u, int v)
{
tot++;
e[tot].u = u;
e[tot].v = v;
e[tot].next = f[u];
f[u] = tot;
}
int main()
{
freopen("work.in", "r", stdin);
freopen("work.out", "w", stdout);
cin >> n >> m >> query;
for (int i = 1; i <= m; ++i)
{
cin >> u >> v;
add(u, v);
add(v, u);
}
memset(d, 0x3f, sizeof(d));
memset(used, false, sizeof(used));
d[1][0] = 0;
used[1] = true;
q.push(1);
while (!q.empty())
{
int u = q.front();
q.pop();
for (int i = f[u]; i > 0; i = e[i].next)
{
int v = e[i].v;
if (d[u][0] + 1 < d[v][1])
{
d[v][1] = d[u][0] + 1;
if (!used[v])
{
used[v] = true;
q.push(v);
}
}
if (d[u][1] + 1 < d[v][0])
{
d[v][0] = d[u][1] + 1;
if (!used[v])
{
used[v] = true;
q.push(v);
}
}
}
used[u] = false;
}
for (int i = 1; i <= query; ++i)
{
int a, l;
cin >> a >> l;
if ((d[a][0] <= l && l % 2 == 0) || (d[a][1] <= l && l % 2 == 1))
printf("Yes\n");
else
printf("No\n");
}
fclose(stdin);
fclose(stdout);
return 0;
}
结果,你知道吗,心态爆炸的我在赛场上......
总结&感想
这次参加联赛,看了下往年的题目和分数线,发现只要该拿的分不挂就可以拿到。可是今年在考场上的感觉题目比往年似乎更难(一下有两道黑题),暴力都没能打出来。部分分好像比往年更多,拿到150+还是很轻松的。
CSP-J 2019复赛分析的更多相关文章
- [计蒜之道2019 复赛 A]外教 Michale 变身大熊猫
[计蒜之道2019 复赛 A]外教 Michale 变身大熊猫 Online Judge:2019计蒜之道 复赛 A Label:LIS+线段树.树状数组+快速幂(模逆元) 题目描述 题解: pre. ...
- 上午小测3 T1 括号序列 && luogu P5658 [CSP/S 2019 D1T2] 括号树 题解
前 言: 一直很想写这道括号树..毕竟是在去年折磨了我4个小时的题.... 上午小测3 T1 括号序列 前言: 原来这题是个dp啊...这几天出了好几道dp,我都没看出来,我竟然折磨菜. 考试的时候先 ...
- CSP J/S 初赛总结
CSP J/S 初赛总结 2021/9/19 19:29 用官方答案估计 J 涂卡的时候唯一的一支 2B 铅笔坏了,只能用笔芯一个个涂 选择 \(-6\ pts\) 判断 \(-3\ pts\) 回答 ...
- 【游记】CSP J/S 2019 游记
J 组 \(2:30\)开始, \(2:13\)还在酒店的我看了看手表...飞奔考场. T1 数字游戏 秒切. 下午某中学某大佬说可用线性基(%) T2 公交换乘 用单调队列思想,秒切. T3 纪念品 ...
- CSP J/S 2019受虐记
一枚蒟蒻的游记~ 提高组DAY1 不是说每场考试都有一道签到题吗 那我tm读了三遍题硬是没找到一道水题是怎么回事(是我太弱了吗) 没办法,硬着头皮做T1 暴力写法...期望得分30pts 于是...在 ...
- J.U.C--locks--AQS分析
看一下AbstractQueuedSynchronizer(下面简称AQS)的子类就行知道,J.U.C中宣传的封装良好的同步工具类Semaphore.CountDownLatch.ReentrantL ...
- [De1CTF 2019]Giftbox 分析&&TPOP学习
[De1CTF 2019]Giftbox 刚进来我以为是直接给了shell,恐怖如斯. 随便扔了个命令,之后就没然后了,hhh,截包发现可能存在sql注入. 然后我就不会了... what i lea ...
- 关于Mysql数据库longblob格式数据的插入com.mysql.jdbc.PreparedStatement.setBinaryStream(ILjava/io/InputStream;J)V问题分析
当数据库字段为blob类型时 ,我们如果使用PreparedStatement中的setBinaryStream(int,InputStream,int)方法需要注意 在向blob字段类型中插入数据时 ...
- CSP-S 2019 考试分析
Day 0 考试前几天心情比较浮躁,一些题目要调个两三天,还有许多模板题打不对,看来注定凉凉: 坐大巴去日照的路上还打算复习算法来着,没想到我晕车这么厉害,几乎一睁眼就晕,想安安静静的睡会,那个电视播 ...
随机推荐
- 力扣Leetcode 572. 另一个树的子树
另一个树的子树 给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树.s 的一个子树包括 s 的一个节点和这个节点的所有子孙.s 也可以看做它自身的一棵子树. 示例 ...
- Broker的主从架构是怎么实现的?
前言 上一篇文章我们一起聊了聊RocketMQ的NameServer的一些内部工作流程,了解了NameServer的部署和与Broker之间的联系,那么今天我们就来一起聊聊Broker的一些内部原理. ...
- 图像通道、RGB与色彩体系
通道(Channels) 图像的通道指的是什么?是不是灰度图的通道数为1,彩色图的通道为3 ? 图像通道,在RGB色彩模式下就是指那单独的红色.绿色.蓝色部分.也就是说,一幅完整的图像,是由红色绿色蓝 ...
- C#程序执行时设置刷新等待
背景 C#在进行某些调用操作时需要隐藏背景,等待刷新. 步骤 1.前端设置 <!--Loading Mask Region--> <div> <div id=" ...
- python应用 曲线拟合03
问题 有许多待拟合的曲线,需批量拟合. 解决 写一个类 # -*- coding: utf-8 -*- """ @author: kurrrr ""& ...
- HTML-CSS-JS Prettify 代码格式化插件
前提:已经安装 node.js.安装插件 HTML-CSS-JS Prettify,修改node路径,即可通过单击右键 HTML-CSS-JS Prettify 中的 Prettify Code 使用 ...
- MongoDB基础总结
1.数据可基本操作 1. 创建数据库 use databaseName 选择一个数据库,如果数据库不存在就自动创建一个数据库 只有向数据库中插入数据时,数据库才会被真实创建出来,而当数据库中没有数据 ...
- 关于给Tomcat设置maxPostSize的问题
一.为什么要设置maxPostSize tomcat容器对传输数据的大小有限制,如果上传了超过此值的文件,就会报错,使得程序不能正常使用. 二.设置方法 找到tomcat目录下的/conf/serve ...
- Appium之常用API
Appium常用API解析 1.current_activity:获取当前页面的activity名,比如com.taobao.tao.TBMainActivity 或 com.taobao.brows ...
- ctfhub sql注入字符型
手工注入 1, 检查是否存在注入 2.猜字段数.列数 3.获得注入点,数据库名称,数据库版本 4.获得表名 5.获得字段名 6.获得flag sqlmap方法 1.查数据库库名 2.查表名 3.查字段 ...