【LGR-047】洛谷5月月赛
这次我期待了很久的Luogu月赛崩掉了
传说中的Luogu神机就这样被卡爆了
然后我过了20min才登上Luogu的网站,30min后才看到题目
然后交T1TM的不给我测!!!然后又交了一次机子就炸了,好几个点都不测
然后感觉游戏体验极差。交了一波T2又有一堆点不给我测,还莫名T了几个点这机子真的
然后就直接关掉睡觉去了
不过说实话题目还是很好的,值得深思一下
A: T29693 取石子
这道题目还是很良心的,水的一批
首先注意到因为a[0]=0,因此只要石子没取光就一定可以继续取
然后判断一下Σa[i]的奇偶性即可
CODE
#include<cstdio>
using namespace std;
int x,n;
long long tot;
inline char tc(void)
{
static char fl[100000],*A=fl,*B=fl;
return A==B&&(B=(A=fl)+fread(fl,1,100000,stdin),A==B)?EOF:*A++;
}
inline void read(int &x)
{
x=0; char ch=tc();
while (ch<'0'||ch>'9') ch=tc();
while (ch>='0'&&ch<='9') x=x*10+ch-'0',ch=tc();
}
int main()
{
//freopen("CODE.in","r",stdin); freopen("CODE.out","w",stdout);
register int i; read(n);
for (i=1;i<=n;++i)
read(x),tot+=x;
puts(tot%2?"Alice":"Bob");
return 0;
}
B: T30204 偷上网
这道题还是比较欧洲玄学的
首先当n=1时,半径为l,因此我们枚举一下四个角落是否满足条件即可,否则输出GG
当n>=2时,由于圆的面积绝对小于正方形的面积,所以一定有解
但是怎么找到那个解呢?
rand大法好,我们直接上rand判断是否可行即可
虽然有大佬给出证明n>=2时在边上一定能找到点,但是这里rand真心快,全部0ms卡过去了,所以也没去打别的算法了
randCODE
#include<cstdio>
#include<cstdlib>
#include<ctime>
#include<cmath>
using namespace std;
typedef double DB;
const int N=15;
const DB EPS=1e-6;
int n,l;
DB x[N],y[N];
inline DB calc(DB a,DB b,DB c,DB d)
{
return sqrt((a-c)*(a-c)+(b-d)*(b-d));
}
inline void sp_work(int l)
{
if (calc(0.0,0.0,x[1],y[1])>=(DB)l/n+EPS) { printf("%.3lf %.3lf",0.0,0.0); exit(0); }
if (calc(0.0,(DB)l,x[1],y[1])>=(DB)l/n+EPS) { printf("%.3lf %.3lf",0.0,(DB)l); exit(0); }
if (calc((DB)l,0.0,x[1],y[1])>=(DB)l/n+EPS) { printf("%.3lf %.3lf",(DB)l,0.0); exit(0); }
if (calc((DB)l,(DB)l,x[1],y[1])>=(DB)l/n+EPS) { printf("%.3lf %.3lf",(DB)l,(DB)l); exit(0); }
puts("GG"); return;
}
inline void com_work(int l)
{
for (;;)
{
DB a=rand()%l+(DB)(rand()%1000)/1000,b=rand()%l+(DB)(rand()%1000)/1000; bool flag=1;
for (register int i=1;i<=n;++i)
if (calc(a,b,x[i],y[i])<(DB)l/n+EPS) { flag=0; break; }
if (flag) { printf("%.3lf %.3lf",a,b); exit(0); }
}
}
int main()
{
srand(time(0)); register int i;
scanf("%d%d",&n,&l);
for (i=1;i<=n;++i)
scanf("%lf%lf",&x[i],&y[i]);
if (n==1) sp_work(l); else com_work(l);
return 0;
}
C: T28881 粘骨牌
这是一道比较需要思维的题目了
首先我们先来考虑GG的情况,这个很简单,除非起点就是特殊点,要不然不可能会GG
这个还是很简单的,因为就算其他点都是特殊点,我大不了把所有骨牌都固定住,这样其他点就露不出来了
然后我们考虑建边,对于所有的点,我们向它有可能可以到达的点建边,边权就是固定这个骨牌的代价
然后我们简单分析一下,就可以发现这是一棵树,因为每一个骨牌都可以连出两条边,并且不可能有环
然后就要求最小的代价割掉所有点,所以我们考虑树形DP
设f[x]表示割掉x及其所有字数中的特殊点的最小代价,则
f[x]=v[fa[x]][x] (if x is a special node)
f[x]=Σmin(v[x][son[x]],f[son[x]]) ( if x is a common node)
然后我们发现这个建图可以和DP的过程一起写成一个类似记搜的方法,然后刚上去就可以了
CODE
#include<cstdio>
using namespace std;
const int N=1005,fx[4]={0,1,0,-1},fy[4]={1,0,-1,0};
int a[N][N],c[N*N],n,m,k,t,x,y,s_x,s_y;
bool sp[N][N];
inline char tc(void)
{
static char fl[100000],*A=fl,*B=fl;
return A==B&&(B=(A=fl)+fread(fl,1,100000,stdin),A==B)?EOF:*A++;
}
inline void read(int &x)
{
x=0; char ch=tc();
while (ch<'0'||ch>'9') ch=tc();
while (ch>='0'&&ch<='9') x=x*10+ch-'0',ch=tc();
}
inline long long min(long long a,long long b)
{
return a<b?a:b;
}
inline bool check(int x,int y)
{
return x>=1&&x<=n&&y>=1&&y<=m;
}
inline long long DFS(int x,int y)
{
long long ans=0;
for (register int i=0;i<4;++i)
{
int xx=x+fx[i]*2,yy=y+fy[i]*2;
if (check(xx,yy)&&a[x+fx[i]][y+fy[i]]==a[xx][yy])
{
if (sp[xx][yy]) ans+=c[a[xx][yy]]; else ans+=min(DFS(xx,yy),c[a[xx][yy]]);
}
}
return ans;
}
int main()
{
//freopen("CODE.in","r",stdin); freopen("CODE.out","w",stdout);
register int i,j;
read(n); read(m); read(k); t=n*m-1>>1;
for (i=1;i<=t;++i)
read(c[i]);
for (i=1;i<=k;++i)
read(x),read(y),sp[x][y]=1;
for (i=1;i<=n;++i)
for (j=1;j<=m;++j)
{
read(a[i][j]);
if (!a[i][j]) s_x=i,s_y=j;
}
if (sp[s_x][s_y]) puts("GG"); else printf("%lld",DFS(s_x,s_y));
return 0;
}
D: T30208 太极剑&&E: T30212 玩游戏
这两题还是太难了,自己看题解也看不懂吧
留着以后填
【LGR-047】洛谷5月月赛的更多相关文章
- 洛谷4月月赛R2
洛谷4月月赛R2 打酱油... A.koishi的数学题 线性筛约数和就可以\(O(N)\)了... #include <iostream> #include <cstdio> ...
- 洛谷3月月赛 R1 Step! ZERO to ONE
洛谷3月月赛 R1 Step! ZERO to ONE 普及组难度 290.25/310滚粗 t1 10分的日语翻译题....太难了不会... t2 真·普及组.略 注意长为1的情况 #include ...
- 【洛谷5月月赛】玩游戏(NTT,生成函数)
[洛谷5月月赛]玩游戏(NTT,生成函数) 题面 Luogu 题解 看一下要求的是什么东西 \((a_x+b_y)^i\)的期望.期望显然是所有答案和的平均数. 所以求出所有的答案就在乘一个逆元就好了 ...
- 【LGR-054】洛谷10月月赛II
[LGR-054]洛谷10月月赛II luogu 成功咕掉Codeforces Round #517的后果就是,我\(\mbox{T4}\)依旧没有写出来.\(\mbox{GG}\) . 浏览器 \( ...
- 【LGR-051】洛谷9月月赛
[LGR-051]洛谷9月月赛 luogu 签到题 description 给出\(K\)和质数\(m\),求最小的\(N\)使得\(111....1\)(\(N\)个\(1\))\(\equiv k ...
- 「LGR-049」洛谷7月月赛 D.Beautiful Pair
「LGR-049」洛谷7月月赛 D.Beautiful Pair 题目大意 : 给出长度为 \(n\) 的序列,求满足 \(i \leq j\) 且 $a_i \times a_j \leq \max ...
- 洛谷9月月赛round2
洛谷9月月赛2 t1 题意:懒得说了 分析:模拟 代码: program flag; var a:..,..]of char; n,i,m,j,x,y,ans,k:longint; begin ass ...
- 「P4996」「洛谷11月月赛」 咕咕咕(数论
题目描述 小 F 是一个能鸽善鹉的同学,他经常把事情拖到最后一天才去做,导致他的某些日子总是非常匆忙. 比如,时间回溯到了 2018 年 11 月 3 日.小 F 望着自己的任务清单: 看 iG 夺冠 ...
- 「P4994」「洛谷11月月赛」 终于结束的起点(枚举
题目背景 终于结束的起点终于写下句点终于我们告别终于我们又回到原点…… 一个个 OIer 的竞赛生涯总是从一场 NOIp 开始,大多也在一场 NOIp 中结束,好似一次次轮回在不断上演.如果这次 NO ...
- 「LuoguP4995」「洛谷11月月赛」 跳跳!(贪心
题目描述 你是一只小跳蛙,你特别擅长在各种地方跳来跳去. 这一天,你和朋友小 F 一起出去玩耍的时候,遇到了一堆高矮不同的石头,其中第 ii 块的石头高度为 h_ihi,地面的高度是 h_0 = 0 ...
随机推荐
- loadrunner 运行场景-Controller及Load Generators宿主主机优化
运行场景-Controller及Load Generators宿主主机优化 by:授客 QQ:1033553122 1. Load Generator宿主主机优化设置 win7以下:进入“控制面板” ...
- Jni 线程JNIEnv,JavaVM,JNI_OnLoad(GetEnv返回NULL?FindClass返回NULL?)
此文章是关于NDK线程的第二篇理论知识笔记.主要有两个点,如下: 1.pthread_create(Too many arguements, expected 1) ?2.线程中如何获取JNIEnv? ...
- Handle的原理(Looper、Handler、Message三者关系)
转载请注明出处:http://blog.csdn.net/lowprofile_coding/article/details/72580044 介绍 前面的内容对Handler做了介绍,也讲解了如何使 ...
- 如何打jar包
一.制作只含有字节码文件的jar包1.最简单的jar包——直接输出hello2.含有两个类的jar包——通过调用输出hello3.有目录结构的jar包——通过引包并调用输出hello 二.制作含有ja ...
- javascript中的异步编程
正常情况下js都是顺序执行的,但是也有很多场景下实际上是异步操作: 1.定时器都是异步操作 2.事件绑定都是异步操作 3.AJAX中一般我们都采取异步操作(也可以同步) 4.回调函数可以理解为异步(不 ...
- Jmeter中默认语言的显示
1.临时性语言的设置 即设置后只对本次使用有效,重启后恢复默认语言 选择Options—>Choose Language—>选择其他语言(例如:Chinese(Simplified)简体中 ...
- MySQL8.0——Resource Group(资源组)
资源组介绍 简介 MySQL是单进程多线程的程序,MySQL线程包括后台线程(Master Thread.IO Thread.Purge Thread等),以及用户线程.在8.0之前,所有线程的优先级 ...
- Django电商项目---完成用户中心(订单中心+收货地址)day7
完成用户中心(收货地址) df_user/views.py df_user/urls.py templates/df_user/user_center_site.html 界面显示 完成用户中心(全部 ...
- 戴尔dell服务器硬件故障SMTP邮件报警idrac配置
上次公司有台戴尔的服务器硬盘故障了却没有及时发现,后面就研究了一下看到戴尔的idrac有硬件SMTP报警功能 然后自己折腾了一下,一开始配置不成功,后面问了一下戴尔官方的最好自己再摸索了一下解决了,做 ...
- 建立标准编码规则(四)-C#编码规范分类及实现
1 现实中的问题 在任何一个公司,每个程序员编写的习惯可能都是不一样的,大到命名空间,小到变量的名字.甚至,我们去github,里面的大牛每个开源的项目的命名规则可能都不一样. 我们通常会遇到下面的问 ...