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命令可以使用. 解决: 排除网络问题,因为内网互通,其次是系统层面问题,最终定 ...
随机推荐
- 从零开始的 Hexo 生活(一)入门安装篇
目录 前言 一.Hexo 是什么 1.什么是静态网站 2.为什么选择静态网站 3.为什么选择 Hexo 二.Markdown 是什么 1.为什么要学 Markdown 2.怎么学 Markdown 三 ...
- 如何在 Java 中实现无向环和有向环的检测
无向环 一个含有环的无向图如下所示,其中有两个环,分别是 0-2-1-0 和 2-3-4-2: 要检测无向图中的环,可以使用深度优先搜索.假设从顶点 0 出发,再走到相邻的顶点 2,接着走到顶点 2 ...
- Python操作数据库类 Oracle、Sqlserver、PostgreSQL
我在工作中经常使用Python,特点很明显,轻量,效率还不错,尤其在维护或者自动化方面. 下面是我使用到的访问数据库(Oracle.Sqlserver.PostgreSQL)的公共类. 一.Oracl ...
- C++五子棋(二)——游戏界面与棋子渲染
准备 我们首先要在程序中定义一个名为drawPNG的函数,用于输出png格式图片并使背景透明 引入头文件(需要提前安装EasyX) #include <graphics.h> 定义函数 d ...
- 移动端input解决键盘问题 方案1
$('body').on('focusin', 'input, textarea', function(event) { if(navigator.userAgent.indexOf('Android ...
- 背包问题dp的初步总结
背包问题 01背包 给定的物体只有0个和1个,只有选与不选的划分,其状态转移方程时由i-1行推出,所以第二层循环是由j=m,递减到v[i]的. for(int i=1;i<=n;i++){ fo ...
- ES 文档与索引介绍
在之前的文章中,介绍了 ES 整体的架构和内容,这篇主要针对 ES 最小的存储单位 - 文档以及由文档组成的索引进行详细介绍. 会涉及到如下的内容: 文档的 CURD 操作. Dynamic Mapp ...
- IDEA通过Jedis操作Linux上的Redis;Failed to connect to any host resolved for DNS name问题
testPing.java public class testPing { public static void main(String[] args) { Jedis jedis = new Jed ...
- 关于visualvm无法监控本地java进程
https://blog.csdn.net/weixin_43827693/article/details/105990675?spm=1001.2101.3001.6661.1&utm_me ...
- Windows下使用 Docker 部署 RabbitMQ
安装 Docker 首先进入 https://docs.docker.com/desktop/windows/install/ 下载最新版 Docker,下载好后,双击进行安装,此处不对安装进行说明. ...