这次惨烈的炸了个精光(只有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. 创建Filter类

    1.Filter可认为是servlet的一种“加强版”,它主要用于对用户请求进行预处理,也可以对HttpServletresponse进行后处理,是个典型的处理链.Filter也可对用户请求生成响应, ...

  2. Python环境下如何安装爬虫需求的一些库

    是在CMD环境下的: request库pip install request 回车 pandas库 同理,pip install pandas :这里需要声明下,这个是不一定成功的,刚入门稍微看了一点 ...

  3. 找回master库中被删除的系统表

    接手的某个数据库实例中,master数据库中的所有系统表都被误删除掉了. 最直接影响就是一旦涉及到要查询这些系统表,就会出现错误. 例如,右键点击某个数据,查看属性时会出现如下图所示错误: 那么怎么找 ...

  4. Tomcat 一端口多项目,多端口多项目 server.xml

    ​ ​ 8080端口下项目的webURL为 http://localhost:8080/HelloWorld_spring/HelloController/helloWorld ​ 8081端口下项目 ...

  5. QT的setwindowflags的属性总结

    :setWindowFlags(Qt::CustomizeWindowHint);//设置窗口标题栏自定义 setWindowFlags(Qt::WindowMinimizeButtonHint);/ ...

  6. MySQL基础之 排序与限制,聚合

    排序与限制 ORDER BY 作用:取出按照某个字段进行排序后的记录结果集. 配合:常与DESC  和ASC一块使用:默认是ASC,表示升序.DESC表示降序 LIMIT 作用:用于显示数据的一部分记 ...

  7. PAT 1025 反转链表

    PAT (Basic Level) Practise 1025 Github链接:https://github.com/H-BING/object-oriented/tree/master/PAT10 ...

  8. css固定footer到浏览器底部的方法

    <html> <head></head> <body> <div class="page-wrapper"> <d ...

  9. MySql详解(五)

    MySql详解(五) MySql库的管理 一.创建库 create database [if not exists] 库名[ character set 字符集名]; 二.修改库 alter data ...

  10. 小程序报错数据传输长度为 xxx 已经超过最大长度 xxx

    这个错误通常在通过base64给images赋值时发生,setData()微信设置的一次最大传输长度为1M,所有如果编码后的base64字符串长度超过了1M就会报这个错误. 如何解决? 我们可以采取曲 ...