9-27 DAIRY
今天分很低,但也不完全是该拿到得分没拿到,说实话我要是写了第一题估计也是错的,为什么大家都100分啊,好厉害= =
T1 a 30
solution里写了两个算法,实际上能过的其实有三种。
算法1:注意到 (a/b) mod c = [a mod (b*c) ]/b (出题人说这是模的一个性质。)
证:(以下证明又长又繁琐可能又不清楚可以略过)
建议自备纸笔跟着我的节奏【○ ○】
∵a = i*b + j
∴\lfloor \frac{a}{b} \rfloor \mod c
= \lfloor\frac{i*b+j}{b}\rfloor \mod c
= \lfloor{i+\frac{j}{b}}\rfloor \mod c
= i \mod c
又∵i = h*c + k
∴= k
那么就是说我们要求的就是k.
现在倒过来。
∵a = i*b+j
∴i = h*c+k
∴a = (h*c+k)*b+j = h*b*c+k*b+j
此时要求的是k.又已知a、b、c.
观察到这个式子:a = h*b*c+k*b+j . .. 将a%(b*c)可以得到k*b+j.
再/b,可以得到k即答案.(因为计算机计算“/”直接会把k去掉)
∴(a/b) mod c = [a mod (b*c) ]/b .
证毕。
以下为改完正确的代码。
#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#include<cstring>using namespace std;typedef long long ll;const int N = 1000000+5;char a[N];
ll b, c;int main(){freopen("a.in", "r", stdin);freopen("a.out", "w", stdout);scanf("%s %lld%lld", a, &b, &c);ll p = b*c; ll ret = 0LL;for(int i = 0; i < strlen(a); i++) ret = (ret*10%p + a[i]-'0')%p;printf("%lld\n", ret/b);return 0;
}
算法2:注意到 (a/b) mod c = [a- (a mod b)] * b^(-1) mod c【那个b^(-1)是指算b的逆元】
这个解释就是说,一般我们做除法改成逆元是必须被除数是除数的整数倍,而这里不一定正好整除,所以我们需要自己调整为整除情况才可以用上逆元。所以用a-(a%b)可得到a/b向下取整的情况,再利用扩展欧几里得求逆元计算即可。【没写这份代码】
算法3:做高精度除法,比较麻烦吧???反正我懒得写……..
T2 b 10
题面比较坑,输入的时候要注意输入起始位置是先snuke再蜘蛛,而输入边时是先蜘蛛在snuke….被坑了。
通过手推观察可知:
以B为根对蜘蛛丝边进行一遍dfs得到蜘蛛丝上深度dep1[];
以A为根对树边进行一遍dfs得到树边上的深度dep2[];
一个点的dep1[i] <= dep2[i]的话,A【snuke】是不会去的,然后从这个点到其他点也不可能了,这种情况直接continue;最终答案即是所有可以到达的点中dep1[]的最大值。
改完的正确程序。
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<vector>using namespace std;typedef long long ll;
const int N = 200000+5;
const int oo = 2147483647;int ans, n, a, b;
int dep1[N], dep2[N];
struct node{int head[N], to[N*2], next[N*2], e;void add(int x, int y){to[++e] = y; next[e] = head[x]; head[x] = e;to[++e] = x; next[e] = head[y]; head[y] = e;}
}A, B;template <typename T>
T read(){T N(0), F(1);char C = getchar();for(; !isdigit(C); C = getchar()) if(C == '-') F = -1;for(; isdigit(C); C = getchar()) N = N*10 + C-48;return N*F;
}void dfs1(int u, int lst = 0){for(int i = A.head[u]; i; i = A.next[i]){int v = A.to[i];if(v == lst) continue;dep1[v] = dep1[u]+1;dfs1(v, u);}
}void dfs2(int u, int lst = 0){ans = max(ans, dep1[u]);for(int i = B.head[u]; i; i = B.next[i]){int v = B.to[i];if(v == lst) continue;dep2[v] = dep2[u]+1;if(dep1[v] <= dep2[u]) continue;dfs2(v, u);}
}int main(){freopen("b.in", "r", stdin);freopen("b.out","w",stdout);n = read<int>(); a = read<int>(); b = read<int>();for(int i = 1; i < n; i++){int x, y;x = read<int>(), y = read<int>();A.add(x, y);}for(int i = 1; i < n; i++){int x, y;x = read<int>(), y = read<int>();B.add(x, y);}dfs1(b); dfs2(a);printf("%d\n", ans);return 0;
}
T3 c 30
暴力写的30。正解也不想探究了,应该是没太多意义的= =【难】
就够了(吧)
9-27 DAIRY相关推荐
- Python数据分析_第06课:数据清洗与初步分析_笔记
文章目录 缺失值处理--拉格朗日插值法 dataframe合并 索引上的合并 轴向连接 合并重叠数据 重塑层次化索引 长宽格式的转换 移除重复数据 利用函数或映射进行数据转换 数据标准化 最小-最大规 ...
- 最强 NLP 预训练模型库 PyTorch-Transformers 正式开源:支持 6 个预训练框架,27 个预训练模型...
先上开源地址: https://github.com/huggingface/pytorch-transformers#quick-tour 官网: https://huggingface.co/py ...
- ERROR: Manifest merger failed : uses-sdk:minSdkVersion 24 cannot be smaller than version 27 declared
这个是引入的库的时候出现的,一般自己都是把minSdkVersino 改成要求的版本的 但是这个确实要求最低为27 也就是android8.1了,过分了,最后百度返现了一个方法就是在 配置文件中的An ...
- mysql 4.0.27 下载,CentOS编译Mysql 4.0.27数据库问题解决
CentOS编译Mysql 4.0.27数据库问题解决以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 现在好多人都用起了 ...
- mysql数据库比对视频教程_MySQL数据库全学习实战视频教程(27讲 )
一)mySQL数据库简介:MySQL属于关系型数据库,是当前最流行的关系型数据库管理系统之一,在WEB项目使用方面,MySQL是最好的 RDBMS应用软件. 二)本mySQL数据库视频教程目录如下: ...
- 基于视频理解TSM和数据集20bn-jester-v1的27类手势识别
基于视频理解TSM-mobilenetv2和数据集20bn-jester-v1的27类手势识别 基于视频理解TSM-resnet50和数据集20bn-jester-v1的27类手势识别 基于视频理解T ...
- 白领们注意啦:“过劳死”27个危险信号!
要想防止"过劳死",就必须了解身体为我们发出的"过劳死"信号.日本公众卫生研究所的科研人员曾对日本"过劳死"高发现象做过详细研究,从预防角度 ...
- 研究人员测试27个黑客服务 结果仅三个完成任务
现代电子邮件帐户不仅是一个电子邮件地址,它还是人们在网络上的身份的基础,可用于申请各种网络服务或重置服务密码,以便持有电子邮件的黑客服务帐户很受欢迎,为了了解这些服务的功能,谷歌和加州大学圣地亚哥分校 ...
- 2012/08/27 夜
杂记于2012/08/27 唉,,最近公司在搬家,一直没有时间来看技术方面的资料,丫的上个星期天还接到第二天凌晨3点钟呢...唉..有点受不了啊..这苦逼的运维工作,,, 呵,来说说这其中让我为难的事 ...
- 【我的Android进阶之旅】解决SDK升级到27.0.3遇到的GLIBC_2.14 not found、no acceptable C compiler found in $PATH等问题...
一.问题一:Failed to find Build Tools revision 27.0.3 1.1.问题描述 最近公司的Android项目都要进行SDK升级,目前在本地编译的时候将SDK升级到了 ...
最新文章
- Python基础04-数据类型:数字、布尔、字符串
- 转:测试部工作不受重视怎么办?
- python第三方库安装-python的第三方库安装
- 要学DOT NET了
- hdu4004 The Frog's Games 二分
- JBoss AS 7:自定义登录模块
- 接口测试(java+testng+ant+jenkins)第三篇ant
- OJ1012: 求绝对值
- mysql表无法获取_CentOS下无法正常获取MySQL数据库表数据的问题
- 关于Acess 图片存为ole类型,数据集合显示
- ADS实验报告二:滤波器的仿真设计
- 如何存放青龙脚本文件(不用复制)
- 杂文 - 设计MIUI主题 的 MIUI设计师
- oracle11g磁盘阵列 pdf,融会贯通 从Oracle11g到SQL Server2008 中文PDF版 16.7MB
- 【信号处理】因果系统的理解
- Vue.js 框架源码与进阶 - 搭建自己的SSR
- 1248 - Every derived table must have its own alias
- linux下DNW用法
- 量化交易日记20210120
- hpm128无法共享打印_HP M128fn打印机共享后无法打印
热门文章
- w ndows只能安装到gpt磁盘,安装win10系统时提示windows只能安装到GPT磁盘如何解决[多图]...
- MT6797 datahseet完整资料分享
- 微信小程序-QQ音乐
- 关注电动汽车 (EV) 能效水平 提高电动汽车续航能力
- 动态规划:多重背包问题
- 余有成人工智能_上海交通大学计算机科学与工程系(CSE)
- 教你如何快速安装Pycharm2018——Pycharm2018安装详细教程(附激活软甲+永久破解)
- 计算机中文输入法教案,中文输入法(一教案.doc
- 计算机电池的性能参数,基于51单片机的蓄电池性能测试仪的设计.doc
- 前端扫码枪使用--支付