这次我期待了很久的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月月赛的更多相关文章

  1. 洛谷4月月赛R2

    洛谷4月月赛R2 打酱油... A.koishi的数学题  线性筛约数和就可以\(O(N)\)了... #include <iostream> #include <cstdio> ...

  2. 洛谷3月月赛 R1 Step! ZERO to ONE

    洛谷3月月赛 R1 Step! ZERO to ONE 普及组难度 290.25/310滚粗 t1 10分的日语翻译题....太难了不会... t2 真·普及组.略 注意长为1的情况 #include ...

  3. 【洛谷5月月赛】玩游戏(NTT,生成函数)

    [洛谷5月月赛]玩游戏(NTT,生成函数) 题面 Luogu 题解 看一下要求的是什么东西 \((a_x+b_y)^i\)的期望.期望显然是所有答案和的平均数. 所以求出所有的答案就在乘一个逆元就好了 ...

  4. 【LGR-054】洛谷10月月赛II

    [LGR-054]洛谷10月月赛II luogu 成功咕掉Codeforces Round #517的后果就是,我\(\mbox{T4}\)依旧没有写出来.\(\mbox{GG}\) . 浏览器 \( ...

  5. 【LGR-051】洛谷9月月赛

    [LGR-051]洛谷9月月赛 luogu 签到题 description 给出\(K\)和质数\(m\),求最小的\(N\)使得\(111....1\)(\(N\)个\(1\))\(\equiv k ...

  6. 「LGR-049」洛谷7月月赛 D.Beautiful Pair

    「LGR-049」洛谷7月月赛 D.Beautiful Pair 题目大意 : 给出长度为 \(n\) 的序列,求满足 \(i \leq j\) 且 $a_i \times a_j \leq \max ...

  7. 洛谷9月月赛round2

    洛谷9月月赛2 t1 题意:懒得说了 分析:模拟 代码: program flag; var a:..,..]of char; n,i,m,j,x,y,ans,k:longint; begin ass ...

  8. 「P4996」「洛谷11月月赛」 咕咕咕(数论

    题目描述 小 F 是一个能鸽善鹉的同学,他经常把事情拖到最后一天才去做,导致他的某些日子总是非常匆忙. 比如,时间回溯到了 2018 年 11 月 3 日.小 F 望着自己的任务清单: 看 iG 夺冠 ...

  9. 「P4994」「洛谷11月月赛」 终于结束的起点(枚举

    题目背景 终于结束的起点终于写下句点终于我们告别终于我们又回到原点…… 一个个 OIer 的竞赛生涯总是从一场 NOIp 开始,大多也在一场 NOIp 中结束,好似一次次轮回在不断上演.如果这次 NO ...

  10. 「LuoguP4995」「洛谷11月月赛」 跳跳!(贪心

    题目描述 你是一只小跳蛙,你特别擅长在各种地方跳来跳去. 这一天,你和朋友小 F 一起出去玩耍的时候,遇到了一堆高矮不同的石头,其中第 ii 块的石头高度为 h_ihi​,地面的高度是 h_0 = 0 ...

随机推荐

  1. 安卓开发之ScrollView

    当界面不足以将所有的内容显示出来的时候便导致下面的部分内容无法显示出来 所有加上ScrollView 来讲要显示的内容放入之中便可以实现上下滚动界面内容 但是当要显示多个控件的时候会出错  原因是Sc ...

  2. 监听软件异常崩溃并且保持日志--CrashHandler编写自己的异常捕获类

    平时写代码,我们可能会抛出各种异常,这些异常有些是我们测试过程中发现进行解决的,但是也有一些异常是我们未知的,不论是代码的逻辑问题还是Android本身底层的一些bug,我们都需要及时了解并进行解决. ...

  3. Djanggo ORM操作

    Django ORM那些相关操作  一般操作 看专业的官网文档:https://docs.djangoproject.com/en/1.11/ref/models/querysets/,做专业的程序员 ...

  4. sql 删除默认索引,对象 依赖于 列,由于一个或多个对象访问此列

    declare @name varchar(50)select  @name =b.name from sysobjects b join syscolumns aon b.id = a.cdefau ...

  5. Python scikit-learn (metrics): difference between r2_score and explained_variance_score?

    I noticed that that 'r2_score' and 'explained_variance_score' are both build-in sklearn.metrics meth ...

  6. February 4th, 2018 Week 6th Sunday

    Hope clouds observation. 心怀希望会蒙蔽双眼,影响判断. Almost every of us thinks we would be the master of our liv ...

  7. cobaltstrike3.8服务器搭建及使用

    参考链接: https://www.ezreal.net/archives/166.htmlhttp://blog.cobaltstrike.com/category/cobalt-strike-2/ ...

  8. transition: 0.2s all ease;

    /* 全部样式 0.2秒 缓动*/ transition: 0.2s all ease;

  9. Lets encrypt安装及配置

    letsencrypt recommend that most people with shell access use the Certbot ACME client.It can automate ...

  10. C#的static

    1.static意思是静态,可以修饰类.字段.属性.方法2.标记为static的就不用创建实例对象调用了,可以通过类名直接点出来3.static三种用法:4.用于变量前,表示每次重新使用该变量所在方法 ...