长沙雅礼中学集训-------------------day1(内含day0)
day0:
首先,请允许我吐槽一下:
1.那些一个人住一个标准房的人您们真的是#@**¥&%……#*()%……*()@Q$&。
2.感谢那些一个人住一个标准间的人,要不然我们也找不到这个住宿完美,离学校贼进的宾馆。
3.经过一天的物价观察,我终于发现了如何将长沙的东西和焦作的相比从而得出贵不贵,你把价格除个二就差不多是焦作的价格了,如果价格一样的话请把东西的质量除以二。
day1:
6:30起床顺便把懒虫高正从被窝里踹出来。然后那个懒虫就趁我洗漱的时候又睡了个回笼觉
没有摸清地点的我们傻不拉几的买了个二十多的三明治做早餐
八点准时到了上课的机房,开始了一上午的考试。
-----------------------------------------------------------------------------------------------------华丽的分割线--------------------------------------------------------------------------------------------------------
T1:
一句话题目:给你一个有向无自环无重边的图,其中不能出现:点v到u有边,点u到t有边,但是点v到t无边。求加多少条边能够使这个图不存在上述情况。
数据范围:点数<=6*10^4,边数<=10^5;
总之这个题还是挺有良心的,暴力dfs能拿40分,再加上一组数据m=n-1,能拿到60分;
我写的暴力dfs,期望得分:40,实际得分:20.QAQ好菜,检查的时候发现使dfs中有个地方写挂了。
正解是用bitset优化的dfs。
T2:
一句话题目:给你n种区间,第i种区间有si个,再给你m种区间第i种区间有ki个,问你能否用那n种区间覆盖另外m种区间
数据范围n,m<=4*10^5;si,ki<=10^9,区间大小范围为10^9;
emmmmm考试的时候没有带笔和纸,纯靠脑补把题想复杂了。
总之我的总体思路没有错,只不过我想到了排序以后用树状数组搞定,但是下来以后拿笔拿纸推了一下发现不行,考试的时候就拿了前三十分暴力。
机房大佬:前70一看就是裸地网络流啊
正解:用map维护一下这些区间,根据左端点从小到大排序,遇到n中的就插入,遇到m中的查询右端点再往右够不够覆盖,不够即为不行。
AC代码:
#include<map>
#include<queue>
#include<ctime>
#include<cmath>
#include<cstdio>
#include<vector>
#include<string>
#include<limits>
#include<cstring>
#include<cstdlib>
#include<iomanip>
#include<utility>
#include<iostream>
#include<algorithm>
#include<functional>
#define LL long long
#define it map<int,LL>::iterator
using namespace std; struct hh{
int l,r,k,w;
};
hh e[];
int T,n,m,sum;
map<int,LL>q; inline int read(){
int x=,f=;char ch=getchar();
while(!isdigit(ch)){
if(ch=='-') f=-;
ch=getchar();
}
while(isdigit(ch)){
x=(x<<)+(x<<)+(ch-'');
ch=getchar();
}
return x*f;
} bool mycmp(hh x,hh y){
return (x.l<y.l || (x.l==y.l && x.w>y.w));
} void add(int u,int s){
if(!q.count(u)) q[u]=s;
else q[u]+=s;
} void work3(){
sum=n+m;
for(int i=;i<=sum;i++){
e[i].l=read(); e[i].r=read();
e[i].k=read();
if(i<=n) e[i].w=;
else e[i].w=;
}
sort(e+,e+sum+,mycmp);
for(int i=;i<=sum;i++){
if(e[i].w==)
add(e[i].r,e[i].k);
else{
while(e[i].k){
it p=q.lower_bound(e[i].r);
if(p==q.end()){
printf("No\n");
return;
}
else{
if(e[i].k<p->second) p->second-=e[i].k,e[i].k=;
else{
e[i].k-=p->second;
q.erase(p);
}
}
}
}
}
printf("Yes\n");
} int main(){
freopen("machine.in","r",stdin);
freopen("machine.out","w",stdout); T=read();
for(int o=;o<=T;o++){
q.clear();
n=read(); m=read();
work3();
} fclose(stdin);fclose(stdout);
return ;
}
T3:
奇奇怪怪的组合数学。
求C(n,m)(1<=m<=L,1<=n<=m)中有多少个组合能被p^k整除,并对1000000007取模。
emmmmmmm
emmmmmmm
反正就是一堆奇奇怪怪的公式最后推出一个奇奇怪怪的结论。
当然这个题的前30分还是很好拿的
前两组数据直接暴力枚举n,m就可以。
第三组:由于p^k太大,而数据要求的n,m太小,所以直接输出0即可拿这10分(我有机麻和麦皮不知当桨不当桨)。
第一天,完美50分滚粗。
总结:辣鸡ysc
长沙雅礼中学集训-------------------day1(内含day0)的更多相关文章
- 长沙雅礼中学集训-------------------day3
今天的收获还是蛮大的,终于体会了一波在知识的海洋中遨游的美滋滋的快感. T1:给你N个点的位置和他们的速度,这些点向一个方向移动,求前M次超越者的集合A和被超越者的集合B(集合为这些点的速度),以及从 ...
- 长沙雅礼中学集训-------------------day2
怎么说呢,今天的题特别的神奇,因为emmmmmm,T1看不懂(一直到现在还没有理解明白期望概率什么的),T2题面看不懂+扩展欧几里得求逆元怎么求我忘了,T3哇,终于看懂一题了,然而写了个50分的程序但 ...
- 【欧拉回路+最小生成树】SD开车@山东2018省队一轮集训day1
目录 [欧拉回路+最小生成树]SD开车@山东2018省队一轮集训day1 PROBLEM 题目描述 输入 输出 样例输入 样例输出 提示 SOLUTION CODE [欧拉回路+最小生成树]SD开车@ ...
- 国庆集训 Day1 T2 生成图 DP
国庆集训 Day1 T2 生成图 现在要生成一张\(n\)个点的有向图.要求满足: 1.若有 a->b的边,则有 b->a 的边 2.若有 a->b 的边和 b->c 的边,则 ...
- 2019暑期金华集训 Day1 组合计数
自闭集训 Day1 组合计数 T1 \(n\le 10\):直接暴力枚举. \(n\le 32\):meet in the middle,如果左边选了\(x\),右边选了\(y\)(且\(x+y\le ...
- 2019暑期金华集训 Day1 数据结构
自闭集训 Day1 数据结构 CF643G 用类似于下面的方法,搬到线段树上. 如何合并两个集合?先全部放在一起,每次删掉最小的\(cnt_i\),然后把其他所有的\(cnt\)都减去\(cnt_i\ ...
- LOJ 6060「2017 山东一轮集训 Day1 / SDWC2018 Day1」Set(线性基,贪心)
LOJ 6060「2017 山东一轮集训 Day1 / SDWC2018 Day1」Set $ solution: $ 这一题的重点在于优先级问题,我们应该先保证总和最大,然后再保证某一个最小.于是我 ...
- 牛客2018国庆集训 DAY1 D Love Live!(01字典树+启发式合并)
牛客2018国庆集训 DAY1 D Love Live!(01字典树+启发式合并) 题意:给你一颗树,要求找出简单路径上最大权值为1~n每个边权对应的最大异或和 题解: 根据异或的性质我们可以得到 \ ...
- 暑假集训Day1 整数划分
题目大意: 如何把一个正整数N(N长度<20)划分为M(M>=1)个部分,使这M个部分的乘积最大.N.M从键盘输入,输出最大值及一种划分方式. 输入格式: 第一行一个正整数T(T<= ...
随机推荐
- SQL SERVER 压缩数据库日志文件
ALTER DATABASE DBNAME SET RECOVERY SIMPLE --设置为简单恢复模式 GO DBCC SHRINKFILE (DBNAME_log, 1) GO ALTER DA ...
- 揭秘Keras推荐系统如何建立模型、获取用户爱好
你是否有过这样的经历?当你在亚马逊商城浏览一些书籍,或者购买过一些书籍后,你的偏好就会被系统学到,系统会基于一些假设为你推荐相关书目.为什么系统会知道,在这背后又藏着哪些秘密呢? 荐系统可以从百万甚至 ...
- MAC OS下使用OpenSSL生成私钥和公钥的方法
MAC OS自带了OpenSSL,所以不用去编译那一坨跟SHIT一样的源码.直接在命令行里使用OPENSSL就可以. 打开命令行工具,然后输入 openssl打开openssl,接着只要三句命令就可以 ...
- Ajax请求数据的两种方式
ajax 请求数据的两种方法,有需要的朋友可以参考下. 实现ajax 异步访问网络的方法有两个.第一个是原始的方法,第二个是利用jquery包的 原始的方法不用引入jquery包,只需在html中编写 ...
- Dlib与OpenCV图片转换
re: 1. https://zhuanlan.zhihu.com/p/36489663 2. https://stackoverflow.com/questions/38180410/convert ...
- ZOJ2402 Lenny's Lucky Lotto List 简单DP
Lenny's Lucky Lotto Lists Time Limit: 2 Seconds Memory Limit:65536 KB Lenny likes to play the g ...
- 51Nod 1091:线段的重叠(贪心)
1091 线段的重叠 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 收藏 关注 X轴上有N条线段,每条线段包括1个起点和终点.线段的重叠是这样来算的,[10 ...
- 为什么我们不应该使用微信或者 QQ 作为团队协作的 IM 工具?
如果你的团队没有觉得微信是低效的团队 IM 工具,那只有两种可能: 团队成员很少使用微信进行私人的生活和娱乐. 你就是一个低效的团队,而且还不自知. 本文内容 微信,连接一切 每个人都有微信 微信,低 ...
- WinFrom调试时,弹出你正在调试发布的版本
把下图这里改成DEBUG就好 还有项目属性里面也要改一下 问题解决!
- SVN命令行使用总结
1.上传项目到SVN服务器上svn import project_dir(本地项目全路径) http://192.168.1.242:8080/svn/IOS/Ben/remote_dir(svn项目 ...