2019.7.26 NOIP 模拟赛







这次模拟赛真的,,卡常赛。
The solution of T1:
std是打表,,考场上sb想自己改进匈牙利然后wei了(好像匈牙利是错的。
大力剪枝搜索。代码不放了。
这是什么神仙D1T1,爆蛋T1,好像A了它或拿分的就几个人,,
The solution of T2:
题解是这么写的:和八皇后很像,八皇后是x+y和x-y来判重,这里就k1x+k2y来判重。
从各个点引出直线,带入原点检验方程即可。
注:
x/y = Δx/Δy
x*Δy = Δx*y
下面代码用了这个原理,省去了gcd(或除法)的时间复杂度或精度问题
Code:
#include <cstdio>
#include <map>
#include <algorithm>
using namespace std;
;
map <long long,int> M[N];
map <long long,int> T;
int n,m,i,j,k,q,tx,ty,s,num;
int x[N],y[N],dx[N],dy[N];
bool pd;
?a:gcd(b,a%b);}
int main()
{
freopen("laser.in","r",stdin);
freopen("laser.out","w",stdout);
scanf("%d",&n);
;i<=n;i++)
{
scanf("%d%d",&tx,&ty);
) tx=-tx,ty=-ty;
y[i]=-tx,x[i]=ty;
tx=abs(y[i]),ty=abs(x[i]),k=gcd(tx,ty);
y[i]=y[i]/k,x[i]=x[i]/k;
;j<i;j++)
if ((x[i]==x[j]) && (y[i]==y[j]))
{
i--,n--;
break;
}
}
scanf("%d",&m);
;i<=m;i++)
{
scanf("%d%d",&tx,&ty);
;j<=n;j++)
M[j][1LL*tx*x[j]+1LL*ty*y[j]]++;
T[tx*()+ty]++;
}
scanf("%d",&q);
;i<=q;i++)
{
s=;
scanf("%d%d",&tx,&ty);
;j<=n;j++)
s=s+M[j][1LL*tx*x[j]+1LL*ty*y[j]];
s=s-(n-)*T[tx*()+ty];
printf("%d\n",s);
}
;
}
T2
所以,我只拿了60分。神tmD1T2
The solution of T3:
剪枝细节,,一堆的。不过和D1T3难度低一点吧。
#include <cstdio>
#include <algorithm>
using namespace std;
],next[],dist[],first[];
],d[],g[],h[],p[],r[];
int i,k,m,n,x,y,z,head,tail,sum_edge;
int main()
{
freopen("game.in","r",stdin);
freopen("game.out","w",stdout);
scanf("%d%d%d",&n,&m,&k);
;i<=n;i++)
scanf("%d",&r[i]);
;i<=m;i++)
{
scanf("%d%d%d",&x,&y,&z);
sum_edge++,edge[sum_edge]=y,next[sum_edge]=first[x],dist[sum_edge]=z,first[x]=sum_edge;
sum_edge++,edge[sum_edge]=x,next[sum_edge]=first[y],dist[sum_edge]=z,first[y]=sum_edge;
}
d[]=p[]=k;
tail++,g[tail]=,h[tail]=;
;head<=tail;head++)
{
if (g[head]==n)
{
printf("%d\n",h[head]);
;
}
])
for (i=head;i<=tail;i++)
d[g[i]]=p[g[i]],b[g[i]]=;
;i=next[i])
if ((d[g[head]]>dist[i]) && (min(d[g[head]]-dist[i]+r[edge[i]],k)>p[edge[i]]))
{
p[edge[i]]=min(d[g[head]]-dist[i]+r[edge[i]],k);
if (! b[edge[i]])
tail++,g[tail]=edge[i],h[tail]=h[head]+,b[edge[i]]=;
}
}
printf("-1\n");
;
}
代码是老师的
这题我莫名从60/70 -> 30???
神tmT1T2
2019.7.26 NOIP 模拟赛的更多相关文章
- 【2019.7.26 NOIP模拟赛 T3】化学反应(reaction)(线段树优化建图+Tarjan缩点+拓扑排序)
题意转化 考虑我们对于每一对激活关系建一条有向边,则对于每一个点,其答案就是其所能到达的点数. 于是,这个问题就被我们搬到了图上,成了一个图论题. 优化建图 考虑我们每次需要将一个区间向一个区间连边. ...
- 【2019.7.26 NOIP模拟赛 T1】数字查找(figure)(数学)
推式子 我们设\(n=kp+w\),则: \[(kp+w)a^{kp+w}\equiv b(mod\ p)\] 将系数中的\(kp+w\)向\(p\)取模,指数中的\(kp+w\)根据欧拉定理向\(p ...
- 【2019.8.20 NOIP模拟赛 T2】小B的树(tree)(树形DP)
树形\(DP\) 考虑设\(f_{i,j,k}\)表示在\(i\)的子树内,从\(i\)向下的最长链长度为\(j\),\(i\)子树内直径长度为\(k\)的概率. 然后我们就能发现这个东西直接转移是几 ...
- 【2019.8.20 NOIP模拟赛 T3】小X的图(history)(可持久化并查集)
可持久化并查集 显然是可持久化并查集裸题吧... 就是题面长得有点恶心,被闪指导狂喷. 对于\(K\)操作,直接\(O(1)\)赋值修改. 对于\(R\)操作,并查集上直接连边. 对于\(T\)操作, ...
- 【2019.7.20 NOIP模拟赛 T2】B(B)(数位DP)
数位\(DP\) 首先考虑二进制数\(G(i)\)的一些性质: \(G(i)\)不可能有连续两位第\(x\)位和第\(x+1\)位都是\(1\).因为这样就可以进位到第\(x+2\)位.其余情况下,这 ...
- 【2019.7.20 NOIP模拟赛 T1】A(A)(暴搜)
打表+暴搜 这道题目,显然是需要打表的,不过打表的方式可以有很多. 我是打了两个表,分别表示每个数字所需的火柴棒根数以及从一个数字到另一个数字,除了需要去除或加入的火柴棒外,至少需要几根火柴棒. 然后 ...
- 【2019.7.22 NOIP模拟赛 T1】麦克斯韦妖(demon)(质因数分解+DP)
暴力\(DP\) 先考虑暴力\(DP\)该怎么写. 因为每个序列之后是否能加上新的节点只与其结尾有关,因此我们设\(f_i\)为以\(i\)为结尾的最长序列长度. 每次枚举一个前置状态,判断是否合法之 ...
- 【2019.7.25 NOIP模拟赛 T3】树(tree)(dfs序列上开线段树)
没有换根操作 考虑如果没有换根操作,我们该怎么做. 我们可以求出原树的\(dfs\)序列,然后开线段树维护. 对于修改操作,我们可以倍增求\(LCA\),然后在线段树上修改子树内的值. 对于询问操作, ...
- 【2019.7.24 NOIP模拟赛 T1】道路建设(road)(水题)
原题与此题 原题是一道神仙不可做题,两者区别在于,原题不能有重边和自环. 然而,这题可以有重边... 于是这题就变成了一道大水题. 此题的解法 考虑如何构造. 对于\(n\le10^4\)的情况: 对 ...
随机推荐
- nginx配置多个server,搭建多个站点
今天域名备案终于成功了,赶紧进行了域名的绑定,在配置vhosts的时候发现了一个default_server 字段,对于这个字段之前没有接触过,后来查了一下,其实是这样的 当用户在浏览器中输入相关域名 ...
- Ecshop 商品详情页如何添加立即购买按钮
1,加到位置 <li class="add_cart_li"> <a href="javascript:addToCart1({$goods.goods ...
- RDD缓存
RDD的缓存 Spark速度非常快的原因之一,就是在不同操作中可以在内存中持久化或缓存数据集.当持久化某个RDD后,每一个节点都将把计算的分片结果保存在内存中,并在对此RDD或衍生出的RDD进行的其他 ...
- css样式表的引入方式
一般来说,css 有两种样式表的引入方式,在这里我记录一下,比较这两种引入方式的区别: <link rel="stylesheet" type="text/css& ...
- tensorflow的reshape操作tf.reshape()
在处理图像数据的时候总会遇到输入图像的维数不符合的情况,此时tensorflow中reshape()就很好的解决了这个问题. 更为详细的可以参考官方文档说明: numpy.reshape reshap ...
- 270-VC709E 增强版 基于FMC接口的Xilinx Vertex-7 FPGA V7 XC7VX690T PCIeX8 接口卡
VC709E 增强版 基于FMC接口的Xilinx Vertex-7 FPGA V7 XC7VX690T PCIeX8 接口卡 一.板卡概述 本板卡基于Xilinx公司的FPGA XC7V ...
- python浮点数与整数间的转化
舍弃小数部分 >>> math.trunc(12.533222) 12 >>> round(12.2544) 12 按给定小数位数四舍五入 >>> ...
- HDU-5378 概率DP
题意:给定一棵有n个节点的树,现在要给节点附1~n的权值(各节点权值不能相同),一棵子树的领袖就是子树中权值最大的节点,问有多少种分配方案使得最后有恰好K个领袖. 解法:这道题一看以为是树上的计数问题 ...
- procixx和最近调试的坑
流程: 1.procixx/vivado 配置soc硬件信息,导出FSBL.out: 2.配置uboot dts,生成u-boot (需要打开的硬件 配置为status = "okay&qu ...
- 【归纳】Layui table.render里的json后台传入
在使用Layui的table元素时,传入的json的数据格式是有其自身定义的,需要另外添加一些字符,以正确传入. 为了传入符合前端格式的数据: table.render({ elem: '#test' ...