【洛谷】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> ...
随机推荐
- javaweb(三十三)——使用JDBC对数据库进行CRUD
一.statement对象介绍 Jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可. Statement对象的exe ...
- java 多路分发
1.概念 一个函数处理多种类型,其实和多态差不多. 但是要处理两种或者多种类型的数据时,就需要判断每种类型以及每种类型所对应的处理.(PS:我只是在走别人的老路,网上一搜这种概念,博客一大堆,我不知道 ...
- rem自适应布局
rem自适应原理 rem是根据html的font-size大小来变化,正是基于这个出发,我们可以在每一个设备下根据设备的宽度设置对应的html字号,从而实现了自适应布局.更多介绍请看这篇文章:rem是 ...
- ES6中的promise
Promise 对象用于一个异步操作的最终完成(或失败)及其结果值的表示.简单点说,它就是用于处理异步操作的,异步处理成功了就执行成功的操作,异步处理失败了就捕获错误或者停止后续操作. 它的一般表示形 ...
- Jmeter接口测试(三)接口测试实践
Jmeter 脚本编写一般分五个步骤: 1. 添加线程组 2. 添加 http 请求 3. 在 http 请求中写入接入 url.路径.请求方式和参数 4. 添加查看结果树 5. 调用接口.查看返回值 ...
- 【Jmeter测试】如何使用CSV Data Set Config获取参数
Jmeter提供CSV Data Set Config作为参数获取的一种方式 1.文件名:csv文件的绝对路径2.文件编码:根据运行环境设置,个人常用的是mac和linux,所以这里选择UT ...
- eclipse Unable to read repository 花了三天时间,吐血解决
安装eclipse 的 swt examples插件时出现这个错误 查了三天,发现就是网速太慢,导致下载一半下不动出错,原因大概是因为国外吧 于是想看看能不能通过离线安装插件包的方式 问题来了,插件包 ...
- 415. Valid Palindrome【LintCode java】
Description Given a string, determine if it is a palindrome, considering only alphanumeric character ...
- 算法与AI的暗黑面:3星|《算法的陷阱:超级平台、算法垄断与场景欺骗》
算法的陷阱:超级平台.算法垄断与场景欺骗 全书讲算法与AI的暗黑面:价格歧视.导致算法军备竞赛.导致商家降价冲动降低.平台作恶(向劣质商家收费导致品质下降.与开发商一起分析用户隐私)等. 作者从商业. ...
- MSCOCO - COCO API 的安装
在 Windows 下安装 COCO API 的方法. 使用 pip 命令进行安装: pip install git+https://github.com/philferriere/cocoapi.g ...