【洛谷】CYJian的水题大赛【第二弹】解题报告
T1: JerryC Loves Driving
第一题应该就是一道水分题(然而我只水了130分),我的主要做法就是暴力模拟,再做一些小小的优化(蠢得我自己都不想说了)。
My Code:
#include<bits/stdc++.h>
using namespace std;
int a,b,ans;
void read(int &x){
char ch; bool ok;
for(ok=0,ch=getchar(); !isdigit(ch); ch=getchar()) if(ch=='-') ok=1;
for(x=0; isdigit(ch); x=x*10+ch-'0',ch=getchar()); if(ok) x=-x;
}
void work(){
ans=0;
read(a),read(b);
for(int i=0;i<=b-a;i++){
int re=0;
for(int j=1;j<=(a+i)/2;j++){
int k=(a+i)/j;
if(j%2==0)re+=k;
else re-=k;
}
if((a+i-(a+i)/2)%2!=0){
if(((a+i)/2)%2==0)re--;
else re++;
}
ans+=re;
}
printf("%d\n",ans);
}
int main(){
work();
return 0;
}
T2: Jerry Loves Lines
看了一眼后就开始暴力了,懒得去写更优的办法(其实就是我弱而已),结果悲剧的拿了64分。
My Code:
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,m,k,val[2001];
struct f{
ll k,b;
}fct[2001];
void read(ll &x){
char ch; bool ok;
for(ok=0,ch=getchar(); !isdigit(ch); ch=getchar()) if(ch=='-') ok=1;
for(x=0; isdigit(ch); x=x*10+ch-'0',ch=getchar()); if(ok) x=-x;
}
void work(ll x){
for(int i=1;i<=n;i++)val[i]=fct[i].k*x+fct[i].b;
sort(val+1,val+n+1);
printf("%lld\n",val[k]);
}
int main(){
read(n),read(m),read(k);
for(int i=1;i<=n;i++)read(fct[i].k),read(fct[i].b);
for(int i=1;i<=m;i++){
ll x;read(x);
work(x);
}
return 0;
}
T3: Samcompu Loves Water
这道题一开始我用的就是简单的子父链建树,在搜索,然而只A了三个点,于是我就开始思考更优的解法。然后我就想到了用并查集做这道题,然后,多A了两个点。。。
My Code:
#include<bits/stdc++.h>
#define ll long long
#define N 1000001
using namespace std;
int n,m,fa[N],apr[N];
ll sz[N];
inline void read(int &x){
int f=1;x=0;char ch;
do{ch=getchar();if(ch=='-')f=-1;}while(ch<'0'||ch>'9');
do{x=x*10+ch-'0';ch=getchar();}while(ch>='0'&&ch<='9');
x*=f;
}
struct Line{
int from,to,val;
}tree[N];
int gf(int X){
if(fa[X]!=X)fa[X]=gf(fa[X]);
return fa[X];
}
void work(int tim,int x){
ll ans=0;
for(int i=1;i<=n;i++)apr[i]=0,sz[i]=1,fa[i]=i;
for(int i=1;i<n;i++){
if(tree[i].val>=tim||i==x)continue;
int f1=gf(tree[i].from),f2=gf(tree[i].to);
if(f1==f2)continue;
fa[f1]=f2;
sz[f2]+=sz[f1];
}
for(int i=1;i<=n;i++)
if(i!=x&&!apr[gf(i)]){apr[gf(i)]=1;ans+=sz[gf(i)]*(sz[gf(i)]-1);}
// for(int i=1;i<=n;i++)printf("Water: F: %d %d\n",gf(i),sz[gf(i)]);
printf("%lld\n",ans);
}
int main(){
read(m),read(n);
for(int i=1;i<n;i++){
int a,b,c;read(a),read(b),read(c);
tree[i].from=a,tree[i].to=b,tree[i].val=c;
}
// for(int i=1;i<n;i++)printf("Line: %d %d %d\n",tree[i].from,tree[i].to,tree[i].val);
for(int i=1;i<=m;i++){
int tim,id;read(tim),read(id);
work(tim,id);
}
return 0;
}
T4: Zrz_orz Loves Secondary Element
看到有人对我老婆存在念想,我就没有了写题的欲望!!!(不会写)
【洛谷】CYJian的水题大赛【第二弹】解题报告的更多相关文章
- CYJian的水题大赛
实在没忍住就去打比赛了然后一耗就是一天 最后Rank19还是挺好的(要不是乐多赛不然炸飞),这是唯一一套在Luogu上号称水题大赛的而实际上真的是水题大赛的比赛 好了我们开始看题 T1 八百标兵奔北坡 ...
- 【洛谷】CYJian的水题大赛 解题报告
点此进入比赛 \(T1\):八百标兵奔北坡 这应该是一道较水的送分题吧. 理论上来说,正解应该是DP.但是,.前缀和优化暴力就能过. 放上我比赛时打的暴力代码吧(\(hl666\)大佬说这种做法的均摊 ...
- CYJian的水题大赛2 解题报告
这场比赛是前几天洛谷上 暮雪﹃紛紛dalao的个人公开赛,当时基本上都在水暴力分......也没有好好写正解(可能除了T1) 过了几天颓废的日子之后,本蒟蒻觉得应该卓越一下了qwq,所以就打算写一个解 ...
- [洛谷U22157]刷水题(数位dp)(hash)
题目背景 做正经题是不可能做正经题的,这辈子都不可能做正经题的,毒瘤题又不会做毒瘤题,就是水题这种东西,才维持了蒟蒻的信心: 题目描述 这里有N+1 道水题,编号分别为0 ~N+1 ,每道水题都有它自 ...
- 洛谷 P1291 [SHOI2002]百事世界杯之旅 解题报告
P1291 [SHOI2002]百事世界杯之旅 题目描述 "--在2002年6月之前购买的百事任何饮料的瓶盖上都会有一个百事球星的名字.只要凑齐所有百事球星的名字,就可参加百事世界杯之旅的抽 ...
- Mychael原创题 洛谷T23923 Mychaelの水题 【题解】
原题链接 题目大意: 有来自三个地区的人各a,b,c位,他们排成了一排.请问有多少种不同类型的排法,使得相邻的人都来自不同的地区 \(a,b,c<=200\) 答案取模 题解 弱弱的标程解法 设 ...
- 洛谷 P2791 - 幼儿园篮球题(第二类斯特林数)
题面传送门 首先写出式子: \[ans=\sum\limits_{i=0}^m\dbinom{m}{i}\dbinom{n-m}{k-i}·i^L \] 看到后面有个幂,我们看它不爽,因此考虑将其拆开 ...
- [洛谷P4626]一道水题 II
题目大意:求$lcm(1,2,3,\cdots,n)\pmod{100000007}$,$n\leqslant10^8$ 题解:先线性筛出质数,然后求每个质数最多出现的次数,可以用$\log_in$来 ...
- 洛谷P1540 机器翻译 水题 模拟
注意一下细节,尤其是更新minv时不要更新错. Code: #include<vector> #include<iostream> #include<cstdio> ...
随机推荐
- SaltStack入门篇(七)之架构部署实战
模块:https://docs.saltstack.com/en/2016.11/ref/states/all/index.html 实战架构图: 实验环境设置: 主机名 IP地址 角色 linux- ...
- 我们一起学习WCF 第七篇会话模式
会话:就是客户端和服务端之间的谈话.比喻A和B去登陆网站,那么A用户登陆进去肯定显示A的用户详情,那么这就是A和服务器之间的交流.同样B用户登陆之后显示B的详情,这就表示这是B和服务器之间的交流. 如 ...
- 「日常训练」 Fire!(UVA-11624)
与其说是训练不如说是重温.重新写了Java版本的代码. import java.util.*; import java.math.*; import java.io.BufferedInputStre ...
- Linux工作管理
工作管理? 其实也就是把程序放到后台来管理,在windows中也就是最小化,在Linux中是通过命令把程序放到后台中.jobs命令查看后台程序. 对于第一点注意事项,mysql启动是例外的,要是叉掉了 ...
- 接口自动化·分享·第二篇·你必须了解的HttpRequest和HttpResponse
完成一个接口调用其实就是完成了一次http请求,所以你必须要清楚一个http请求的组成. 一次完整的请求包含:请求+响应. 一.HttpRequest请求对象 要调用一个接口,首先要准备的是一个请求对 ...
- halcon中关于文本的创建以及写入
原文链接:http://blog.sina.com.cn/s/blog_61cc743001017nxr.html#FileName 1.open_file( : : FileName, FileTy ...
- Jenkins 自动化测试
学习 Jenkins 自动化测试的系列文章 Robot Framework 概念 Robot Framework 安装 Pycharm + Robot Framework 环境搭建 Robot Fra ...
- 【Linux 运维】 date的使用
date的使用 一.常用时间格式 #年.月.日 四位年大写,其余小写 [root@localhost ~]# date +%Y #长格式显示四位数年 [root@localhost ~]# date ...
- jupyter通过notedown使用markdown
0 Problem 最近看了下李沐老师的mxnet教程,在使用jupyter的时候打开教程发现全是markdown源文,没有展示markdown格式的文字. 1 Reason 源代码是用markdow ...
- tikv 安装
export HostIP="127.0.0.1" docker run -d -p 2379:2379 -p 2380:2380 --name pd pingcap/pd \ - ...