GDKOI 2021 Day3 PJ 懵逼记
今天早了一点起来,初三的大奆都来做比赛了,
自然,自测的有许多 AK
虽然今天的题比昨天简单,但还是脑子还是十分迟钝,以至于贪心都想不出
真为明天的提高组而担忧
T1
斜率被卡 90 ,直接用勾股定理判断边的放大比例是否相等,注意可以不开方
#include<bits/stdc++.h>
using namespace std;
const double eps=1e-7;
typedef long long LL;
int T;
LL z1[5],x[10],y[10],z2[5],gg;
inline LL Dis(int p,int q) {
return (x[p]-x[q])*(x[p]-x[q])+(y[p]-y[q])*(y[p]-y[q]);
}
inline LL Gcd(LL p,LL q) {
return q?Gcd(q,p%q):p;
}
inline bool Chk() {
if(z1[1]!=z1[2]||z2[1]!=z2[2])return false;
if(z1[1]!=z1[3]||z2[1]!=z2[3])return false;
if(z1[2]!=z1[3]||z2[2]!=z2[3])return false;
return true;
}
int main() {
freopen("triangle.in","r",stdin);
freopen("triangle.out","w",stdout);
scanf("%d",&T);
while(T--) {
for(int i=1;i<7;i++)scanf("%lld%lld",&x[i],&y[i]);
z1[1]=Dis(1,2),z1[2]=Dis(1,3),z1[3]=Dis(2,3);
z2[1]=Dis(4,5),z2[2]=Dis(4,6),z2[3]=Dis(5,6);
sort(z1+1,z1+4),sort(z2+1,z2+4);
gg=Gcd(z1[1],z2[1]),z1[1]/=gg,z2[1]/=gg;
gg=Gcd(z1[2],z2[2]),z1[2]/=gg,z2[2]/=gg;
gg=Gcd(z1[3],z2[3]),z1[3]/=gg,z2[3]/=gg;
if(Chk())puts("YES");
else puts("NO");
}
}
T2
贪心,由于比 x 排名高的只有\(\sum_{j=1}^i r_j-1\)个,考虑用贪心
- 最优,比 x 高的都是 100 ,比 x 低的都是 0 , x 是 99.99999 ,即无限接近 100
只要有一个科排名低于 x 就比 x 分数低
若 \(sum\le (n-1)(i-1)\) 排名为 1 ,否则为 \(sum+1-(n-1)(i-1)\) - 最坏,比 x 高的都是 100 ,比 x 低的都是 0 , x 是 0.000001 ,即无限接近 0
只要有一个科排名高于 x 就比 x 分数高
若 \(sum\ge n-1\) 排名为 n ,否则为 \(sum+1\)
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int m;
LL n,sm;
int main() {
scanf("%lld%d",&n,&m);
for(int i=1,x;i<=m;i++) {
scanf("%d",&x);
sm+=1LL*x-1LL;
if(sm<=1LL*(n-1)*(i-1))printf("1 ");
else printf("%lld ",sm-1LL*(n-1)*(i-1)+1);
if(sm>=n-1)printf("%lld\n",n);
else printf("%lld\n",sm+1);
}
}
T3
设 \(sum(x)=\sum_{i|x}\lambda(i),n=\Pi\ p_i^{e_i}\) ,若 \(e_k\) 有一个是奇数,则\(sum(x)\)可以抵消
否则,就是完全平方数,直接算出其个数还有其倍数的个数累加即可
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const LL mod=998244353;
LL n,ans;
int main() {
// freopen("number.in","r",stdin);
// freopen("number.out","w",stdout);
scanf("%lld",&n);
for(LL i=1;i<=sqrt(n);i++)
ans+=n/(i*i),ans>=mod?ans-=mod:1;
printf("%lld",ans);
}
T4
设 F[i][j] 为左右都到 i 的前后差为 j 的方案,发现只用枚举 \(\lfloor \frac{n}{2}\rfloor\) 就行了
\(F_{0,1}=1,i\in [1,\lfloor \frac{n}{2}\rfloor],j\in [1,n*n] F_{i,j}=\sum_{k=\max(j-n,0)}^{j+n} F_{i-1,k}*(n+1-|j-k|)\)
最后答案是 \(\sum_{j=1}^{n*n} F_{\lfloor \frac{n}{2}\rfloor,j}\)
若 n 是奇数,答案要乘 n+1 ,因为 \(\lfloor \frac{n+1}{2}\rfloor\) 可以放 0~n
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const LL mod=998244353;
int n,m;
LL ans,f[105][20005];
int main() {
freopen("sequence.in","r",stdin);
freopen("sequence.out","w",stdout);
scanf("%d",&n);
m=n*n+1,f[0][1]=1;
for(int i=1;i<=(n>>1);i++)
for(int j=1;j<=m;j++)
for(int k=max(j-n,0);k<=j+n;k++)
f[i][j]+=f[i-1][k]*(n+1-abs(j-k)),f[i][j]%=mod;
for(int i=1;i<=m;i++)ans+=f[n>>1][i],ans%=mod;
if(n&1)ans=ans*(n+1)%mod;
printf("%lld",ans);
}
End
GDKOI 都是思维题,本蒟蒻的思维还是要多加磨炼
GDKOI 2021 Day3 PJ 懵逼记的更多相关文章
- GDKOI 2021 Day1 PJ 爆炸记
早上睡到 7:10 分才想起今天有 GDKOI ,赶紧去买了一个面包赶去机房 发现隔壁的大奆都过来了.比赛时由于昨晚一直没睡好,打了两个小时的哈欠 T1 :暴力模拟 根据 \(r\) 和 \(c\) ...
- GDKOI 2021 Day2 PJ 去世记
比赛时和昨天一样困,后面的大奆打代码的速度简直了 T1 用 2.4.6.8 来与 5 抵消掉末尾的 0 ,然后用周期问题的方法直接乘起来并取个位 #include<bits/stdc++.h&g ...
- ZJOI2017 Day3 滚粗记
私のZJOI Day3 2017-3-21 07:52:53 今天,考了人生当中的第一次省选(虽然只是普及组三等奖但仍然有幸能体会一下).据胡老师说,这就是来体验一下被大神虐--真的是这样,听课听不懂 ...
- noip2017 PJ AK记
嗨小朋友们大家好,还记得我是谁吗?我就是为RE代言的蒟蒻--xzz day1 蛤?四楼只有一个考场???在逗我 然后解压 蛤?空军68年????我怎么不知道???huaji 蛤?T1这么sb?切掉 蛤 ...
- CSP2019懵逼记
CSP2019 考场二日游 CJ 旅游团 本来我是准备咕掉的, 但是被强 ♂ 烈要求更博了 Day -INF ~ Day -1 专题巩固和联考 前面半个月疯狂爆炸 后面半个月状态恢复了, 考得还行 联 ...
- NOIWC2019 懵逼记
弱省蒟蒻,第一次也是最后一次来冬令营.. Day [-inf,-1] \(woc\)咋啥都听不懂,没错在下划水王. Day 0 白天上课继续划水..晚上跑去试机,骗了半天交互的分就滚了..半夜里竟然睡 ...
- GDKOI 2021 Day1 TG 。。。
看着一群群比 LHF , HQX 还强的大佬涌进了机房,本蒟蒻表示慌得一批 T1 讲题人说最简单的签到题本蒟蒻表示... \(Update\) 用 ds , dt 两个变量记录点 i 连向 s 或 t ...
- APIO2017 懵逼记
Day -1: 移步http://www.cnblogs.com/juruolty/p/6854795.html Day 0: CTSC铁牌后,下一个就是APIO了. lmy,sxy,cxc,lh过来 ...
- 2021/1/20随记,MTU
背景: 事情是这样的,客户2台防火墙部署了ipsec,内网互通,但是其中ssh以及其他大命令之类的操作就会卡住,简单的vi命令可以使用. 解决: 排除网络问题,因为内网互通,其次是系统层面问题,最终定 ...
随机推荐
- Blazor组件自做一 : 使用JS隔离封装viewerjs库
Viewer.js库是一个实用的js库,用于图片浏览,放大缩小翻转幻灯片播放等实用操作 本文相关参考链接 JavaScript 模块中的 JavaScript 隔离 Viewer.js工程 Blazo ...
- pip——重新安装
原因 没有用管理员的权限安装.导致失败. 并且pip还被卸载了. 使用环境 win10 重新安装pip python -m ensurepip 更新pip 管理员打开cmd python -m pip ...
- 最强Postman替代品,国产软件Apifox到底有对牛?
作为软件开发从业者,API 调试是必不可少的一项技能,在这方面 Postman 做的非常出色.但是在整个软件开发过程中,API 调试只是其中的一部分,还有很多事情 Postman 无法完成,或者无法高 ...
- css 实现球里装水
<template> <div class="container"> <div class="wave"></ ...
- HCIE笔记-第十节-静态路由
协议 :标识 前方的目的网络 是通过什么协议形成的 优先级:代表形成路由的协议的优先级数值 [厂商规定] 开销值:代表该路由协议形成此路由时的开销 -- 不同的协议计算开销值的方式有区别(越小越优) ...
- SIP信令跟踪工具HOMER
概述 HOMER是一款100%开源的针对SIP/VOIP/RTC的抓包工具和监控工具. HOMER是一款强大的.运营商级.可扩展的数据包和事件捕获系统,是基于HEP/EEP协议的VoIP/RTC监控应 ...
- Flex 的 多种对齐属性
1. html 结构 <div id="container"> <div class="item item-1"> <h3> ...
- javascript中的宏任务和微任务(一)
一.宏任务和微任务有哪些 宏任务:setTimeout,setInterval,ajax,dom,宏任务是由浏览器提供的 微任务:promise,async/await,微任务是由es6提供的 二.微 ...
- XCTF练习题---WEB---command_execution
XCTF练习题---WEB---command_execution flag:cyberpeace{69383c056080bd6cd649578894d1d377} 解题步骤: 1.观察题目,打开场 ...
- 测试必会 Docker 实战(一):掌握高频命令,夯实内功基础
在 Dokcer 横空出世之前,应用打包一直是大部分研发团队的痛点.在工作中,面对多种服务,多个服务器,以及多种环境,如果还继续用传统的方式打包部署,会浪费大量时间精力. 在 Docker 出现后,它 ...