EZ 2018 01 14 2018noip第四次膜你赛
这次惨烈的炸了个精光(只有20),然后对我的OI想法造成了巨大的转折。
(以上有点作,其实我只是再也不用vector存图了而已(用邻接表))
难度很不均匀,而且题型很狗(还有结论题???)
T1 坑人结论题,想出来100,没有就爆零
我和这道题杠了一个半小时,然后他们猥琐地告诉我结论——要么四边形要么不可能
反正我也不会证(雾)
找正方形的话枚举两个点,剩下的快排+二分或者hash。
可能是我的hash太丑了,被卡了
CODE
#include<cstdio>
#include<cstring>
using namespace std;
typedef long long LL;
const LL N=,seed=,mod=;
LL x[N],y[N],n,i,j,t;
bool flag,f[mod+];
inline void read(LL &x)
{
x=; char ch=getchar(); LL flag=;
while (ch<''||ch>'') { if (ch=='-') flag=-; ch=getchar(); }
while (ch>=''&&ch<='') x=x*+ch-'',ch=getchar();
x*=flag;
}
inline LL hash(LL a,LL b)
{
LL res=;
if (a<) a=-a*;
if (b<) b=-b*;
while (a!=-) res=((res+a%)*seed)%mod,a=a?a/:-;
while (b!=-) res=((res+b%)*seed)%mod,b=b?b/:-;
return res;
}
int main()
{
freopen("geometry.in","r",stdin); freopen("geometry.out","w",stdout);
read(t);
while (t--)
{
read(n);
memset(f,,sizeof(f)); flag=;
for (i=;i<=n;++i)
read(x[i]),read(y[i]),f[hash(x[i],y[i])]=;
for (i=;i<n;++i)
if (flag)
for (j=i+;j<=n;++j)
{
if (f[hash(x[i]+y[j]-y[i],x[i]+y[i]-x[j])]&&f[hash(x[j]+y[j]-y[i],x[i]+y[j]-x[j])]) { puts(""); flag=; break; }
if (f[hash(x[i]-y[j]+y[i],-x[i]+y[i]+x[j])]&&f[hash(x[j]-y[j]+y[i],-x[i]+y[j]+x[j])]) { puts(""); flag=; break; }
}
if (flag) puts("-1");
}
return ;
}
T2 超难,难度已经高于NOIP一等(标算应该是容斥DP),弃坑
只会20分暴力:
枚举全排列(用STL),然后暴力判断是否可行。
然后我试图打表找规律,又浪费了一个小时。
20分CODE
#include<cstdio>
#include<algorithm>
using namespace std;
const int N=,mod=1e9+;
int a[N],n,t,k,i,tot,ans;
inline int next(int a,int b)
{
if (abs(a-b)<=) return ;
if (a==&&b==n) return ;
if (a==n&&b==) return ;
return ;
}
int main()
{
freopen("counting.in","r",stdin); freopen("counting.out","w",stdout);
scanf("%d%d",&n,&k);
for (i=;i<=n;++i)
a[i]=i;
do
{
tot=;
for (i=;i<=n;++i)
if (next(a[i],i)) tot++;
if (tot>=k) ans++;
if (ans==mod) ans=;
} while (next_permutation(a+,a+n+));
printf("%d\n",ans);
return ;
}
T3 SB题,一道链表题(像我这种连邻接表都不会的人SB地敲了vector然后全部爆内存)
一个类似邻接表的东西,只是多了一个end[]来表示结尾的元素以方便连接
CODE
#include<cstdio>
#include<cstring>
using namespace std;
const int N=;
int a[N],head[N],end[N],next[N],i,j,n,m,q,x,y;
inline void read(int &x)
{
x=; char ch=getchar();
while (ch<''||ch>'') ch=getchar();
while (ch>=''&&ch<='') x=x*+ch-'',ch=getchar();
}
inline void write(int x)
{
if(x/) write(x/);
putchar(x%+'');
}
int main()
{
freopen("sequence.in","r",stdin); freopen("sequence.out","w",stdout);
read(n); read(m); read(q);
memset(head,-,sizeof(head));
memset(end,-,sizeof(end));
memset(next,-,sizeof(next));
for (i=;i<=n;++i)
{
read(a[i]);
if (head[a[i]]==-) head[a[i]]=end[a[i]]=i; else end[a[i]]=next[end[a[i]]]=i;
}
while (q--)
{
read(x); read(y);
if (head[x]==-||x==y) continue;
if (end[y]==-) head[y]=head[x]; else next[end[y]]=head[x];
end[y]=end[x];
head[x]=end[x]=-;
}
for (i=;i<=m;++i)
for (j=head[i];j!=-;j=next[j])
a[j]=i;
for (i=;i<=n;++i)
write(a[i]),putchar(' ');
return ;
}
EZ 2018 01 14 2018noip第四次膜你赛的更多相关文章
- EZ 2018 1 21 2018noip第五次膜你赛
这次分数普遍偏高,而且yu'ben'ao又AK了! 但是最后一题莫名爆0让我很感伤啊(搓了1个多小时的20分暴力)! 难度偏低,主要是T2没剪枝,炸了3个点. T1 这种SB题恐怕是千年难遇了,PJ- ...
- app后端设计(2)--xmpp的使用(2014.01.14更新)
在app中有时候是需要添加聊天服务,在这里谈谈曾经开发聊天服务的经验: (1)聊天服务端选的openfire,这是一个基于xmpp协议的聊天服务器(XMPP是一种基于XML的协议,它继承了在XML环境 ...
- 2018 HDU多校第四场赛后补题
2018 HDU多校第四场赛后补题 自己学校出的毒瘤场..吃枣药丸 hdu中的题号是6332 - 6343. K. Expression in Memories 题意: 判断一个简化版的算术表达式是否 ...
- Intel Artificial Intelligence Conference(2018.11.14)
时间:2018.11.14地点:北京国贸大酒店
- Trusted Cloud Summit(2018.08.14)
时间:2018.08.14地点:北京国际会议中心
- IDEA(2018.01)安装和破解
IDEA(2018.01)安装和破解 1.下载IDE https://www.jetbrains.com/idea/download/#section=windows 选择Ultimate版本 2.下 ...
- JZOJ 5812. 【NOIP提高A组模拟2018.8.14】 区间
5812. [NOIP提高A组模拟2018.8.14] 区间 (File IO): input:range.in output:range.out Time Limits: 1000 ms Memo ...
- 2018.10.19浪在ACM 集训队第一次测试赛
2018.10.19浪在ACM 集训队第一次测试赛 待参考资料: [1]:https://blog.csdn.net/XLno_name/article/details/78559973?utm_so ...
- 2018.12.30【NOIP提高组】模拟赛C组总结
2018.12.30[NOIP提高组]模拟赛C组总结 今天成功回归开始做比赛 感觉十分良(zhōng)好(chà). 统计数字(count.pas/c/cpp) 字符串的展开(expand.pas/c ...
随机推荐
- 在PHP中避免一些代码中的坏味道
做PHP开发已经有快一年的时间了,在这一年的时间中,学习了很多生产环境中的技巧,学习了很多东西,期间也阅读了一些优秀的源码和关于代码的书,对写代码这一块有了一定的思考,也看过很多别人写的好的代码和坏的 ...
- 从专用磁盘创建 Windows VM
通过使用 Powershell 将专用托管磁盘附加为 OS 磁盘来创建新 VM. 专用磁盘是保留原始 VM 中的用户帐户.应用程序和其他状态数据的现有 VM 中虚拟硬盘 (VHD) 的副本. 使用专用 ...
- Oracle 与 mysql 建立透明网关
1.1.1. 文档编写目的 项目上需要做与Mysql数据库的对接,然而Oracle与Mysql数据库是异构的,因此这里采用透明网关的方式来解决. 另,项目上的环境为APP:12.2.6 ; DB: ...
- windows环境下 nginx+iis 反向代理解决跨域问题
项目基本完成,是时候花点时间整理一下最近的姿势了 1 什么是跨域? 网上对于跨域的概念会有大篇幅的文章去解释,似乎有点玄乎,初学者很容易对这个概念产生恐惧,跨域其实很简单,其实只要知道一点,无法跨域访 ...
- HTTP的cookie
HTTP cookies,通常又称作"cookies",已经存在了很长时间,但是仍旧没有被予以充分的理解.首要的问题是存在了诸多误区,认为cookies是后门程序或病毒,或压根不知 ...
- DLL导出类避免地狱问题的完美解决方案
DLL动态链接库是程序复用的重要方式,DLL可以导出函数,使函数被多个程序复用,DLL中的函数实现可以被修改而无需重新编译和连接使用该DLL的应用程序.作为一名面向对象的程序员,希望DLL可以导出类, ...
- canvas实例_时钟
效果图:是一个会动的时钟 一.时钟的组成 1.表盘(蓝色) 2.刻度(黑色) 3.时针(黑色) 4.分针(黑色) 5.秒针(红色)需美化 二.主要应用的技术 Canvas画线 Canv ...
- PSR规范0-4整理
PSR规范 psr规范 引言: PSR 是 PHP Standard Recommendations 的简写,由 PHP FIG 组织制定的 PHP 规范,是 PHP 开发的实践标准.这些规范的目的是 ...
- 【Git123】Git
https://www.cnblogs.com/jager/p/6684637.html 四.git工作原理 这边文章介绍的不错 Git from the Bottom Up 六.git常用命令 wo ...
- CSS居中布局
一:水平居中方案: 1.行内元素 设置 text-align:center 2.定宽块状元素 设置 左右 margin 值为 auto 3.不定宽块状元素 a:在元素外加入 table 标签(完整的, ...