这次惨烈的炸了个精光(只有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第四次膜你赛的更多相关文章

  1. EZ 2018 1 21 2018noip第五次膜你赛

    这次分数普遍偏高,而且yu'ben'ao又AK了! 但是最后一题莫名爆0让我很感伤啊(搓了1个多小时的20分暴力)! 难度偏低,主要是T2没剪枝,炸了3个点. T1 这种SB题恐怕是千年难遇了,PJ- ...

  2. app后端设计(2)--xmpp的使用(2014.01.14更新)

    在app中有时候是需要添加聊天服务,在这里谈谈曾经开发聊天服务的经验: (1)聊天服务端选的openfire,这是一个基于xmpp协议的聊天服务器(XMPP是一种基于XML的协议,它继承了在XML环境 ...

  3. 2018 HDU多校第四场赛后补题

    2018 HDU多校第四场赛后补题 自己学校出的毒瘤场..吃枣药丸 hdu中的题号是6332 - 6343. K. Expression in Memories 题意: 判断一个简化版的算术表达式是否 ...

  4. Intel Artificial Intelligence Conference(2018.11.14)

    时间:2018.11.14地点:北京国贸大酒店

  5. Trusted Cloud Summit(2018.08.14)

    时间:2018.08.14地点:北京国际会议中心

  6. IDEA(2018.01)安装和破解

    IDEA(2018.01)安装和破解 1.下载IDE https://www.jetbrains.com/idea/download/#section=windows 选择Ultimate版本 2.下 ...

  7. 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 ...

  8. 2018.10.19浪在ACM 集训队第一次测试赛

    2018.10.19浪在ACM 集训队第一次测试赛 待参考资料: [1]:https://blog.csdn.net/XLno_name/article/details/78559973?utm_so ...

  9. 2018.12.30【NOIP提高组】模拟赛C组总结

    2018.12.30[NOIP提高组]模拟赛C组总结 今天成功回归开始做比赛 感觉十分良(zhōng)好(chà). 统计数字(count.pas/c/cpp) 字符串的展开(expand.pas/c ...

随机推荐

  1. 什么是 Azure 中的虚拟机规模集?

    虚拟机规模集是一种 Azure 计算资源,可用于部署和管理一组相同的 VM. 由于所有 VM 的配置都相同,因此无需对 VM 进行任何预先配置. 这样就可以更方便地构建面向大型计算.大数据.容器化工作 ...

  2. Oracle EBS INV 获取现有量等值

    DECLARE L_api_return_status VARCHAR2(1); l_qty_oh NUMBER; l_qty_res_oh NUMBER; l_qty_res NUMBER; l_q ...

  3. Distribution setup SQL Server Agent error: "RegCreateKeyEx() returned error 5, 'Access is denied.'" (转载)

    In the Configure Distribution Wizard, the step "Configuring SQL Server Agent to start automatic ...

  4. mysql InnoDB引擎索引超过长度限制

    组合索引长度之和大于 767 bytes并无影响,当有某个字段定义长度大于 767 bytes(1000*3)时,仅产生告警,但不影响创建,超长字段会取前 255 字符作为前缀索引,并且组合索引中字段 ...

  5. Asp.Net MVC 模型(使用Entity Framework创建模型类)

    这篇教程的目的是解释在创建ASP.NET MVC应用程序时,如何使用Microsoft Entity Framework来创建数据访问类.这篇教程假设你事先对Microsoft Entity Fram ...

  6. 【转】Java学习---解析Java Servlet工作过程

    [原文]https://www.toutiao.com/i6594316694657696264/ 解析Java Servlet工作过程 Servlet简介 Servlet是sun公司提供的一门用于开 ...

  7. Centos7 永久更改主机名

    操作环境: [root@bogon ~]# uname -a Linux #localhost.localdomain 3.10.0-514.el7.centos.plus.i686 #1 SMP W ...

  8. PHP中unset,array_splice删除数组中元素的区别

    php中删除数组元素是非常的简单的,但有时删除数组需要对索引进行一些排序要求我们会使用到相关的函数,这里我们来介绍使用unset,array_splice删除数组中的元素区别吧 如果要在某个数组中删除 ...

  9. DevExpress09、SimpleButton、CheckButton、DropDownButton、HScrollBar控件和VScrollBar控件

    SimpleButton控件 使用SimpleButton控件, 创建一个Button按钮, 可以通过其Image属性添加图片: 该控件与WinForm自带的Button按钮类似: 效果如下: Che ...

  10. 面向对象程序设计__Task6_Calculator1.6.2

    The 4th part of the Calculator program _ Interface 题目链接:第六次作业(计算器第四步) github链接:Calculator_1.6.2 第六次作 ...