【题解】[P3557 POI2013]GRA-Tower Defense Game

这道题是真的**

根据题目给的\(k\),可以知道,我们随便放塔,只要不全放一起,一定是一种合法的方案。

直接枚举就好了,脑子都不用,时间复杂度\(O(n)\)

#include<bits/stdc++.h>

using namespace std;
#define RP(t,a,b) for(register int t=(a),edd=(b);t<=edd;++t)
#define DRP(t,a,b) for(register int t=(a),edd=(b);t>=edd;--t)
#define ERP(t,a) for(register int t=head[a];t;t=e[t].nx)
#define Max(a,b) ((a)<(b)?(b):(a))
#define Min(a,b) ((a)<(b)?(a):(b))
#define endl '\n'
#define midd register int mid=(l+r)>>1
#define TMP template < class ccf > TMP inline ccf qr(ccf b){
char c=getchar();
int q=1;
ccf x=0;
while(c<48||c>57)
q=c==45?-1:q,c=getchar();
while(c>=48&&c<=57)
x=x*10+c-48,c=getchar();
return q==-1?-x:x;
}
const int maxn=500005;
struct E{
int to,nx;
}e[maxn<<2];
int head[maxn];
int cnt;
inline void add(int fr,int to,bool f){
e[++cnt]=(E){to,head[fr]};
head[fr]=cnt;
if(f)
add(to,fr,0);
}
int n,m,k;
bool usd[maxn];
bool ans[maxn]; int main(){
#ifndef ONLINE_JUDGE
freopen("in.in","r",stdin);
freopen("out.out","w",stdout);
#endif
n=qr(1);
m=qr(1);
k=qr(1);
register int t1,t2;
RP(t,1,m){
t1=qr(1);
t2=qr(1);
add(t1,t2,1);
}
RP(t,1,n){
if(!usd[t]){
usd[t]=1;
ans[t]=1;
ERP(i,t){
usd[e[i].to]=1;
ERP(f,e[i].to)
usd[e[f].to]=1;
}
}
} int qaq=0;
RP(t,1,n)
if(ans[t])
qaq++;
cout<<qaq<<endl;
RP(t,1,n)
if(ans[t])
cout<<t<<' '; return 0;
}

【题解】[P3557 POI2013]GRA-Tower Defense Game的更多相关文章

  1. hdu4939 Stupid Tower Defense (DP)

    2014多校7 第二水的题 4939 Stupid Tower Defense Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 131 ...

  2. dp --- hdu 4939 : Stupid Tower Defense

    Stupid Tower Defense Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/ ...

  3. Stupid Tower Defense

    Problem Description FSF is addicted to a stupid tower defense game. The goal of tower defense games ...

  4. 初识Tower Defense Toolkit

    Tower Defense Toolkit 做塔防游戏的插件 主要层次如下图: 1GameControl _ _Game Control(Script) _ _ _Spawn Manager _ _ ...

  5. HDU4939Stupid Tower Defense (有思想的dp)

    Stupid Tower Defense Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Oth ...

  6. Tower Defense Game

    Tower Defense Game 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 There is a tower defense game with n level ...

  7. hdu 4779 Tower Defense (思维+组合数学)

    Tower Defense Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others) ...

  8. HDU 4779:Tower Defense

    Tower Defense Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 132768/132768 K (Java/Others)T ...

  9. [POI2013]Tower Defense Game

    题目大意: 一个$n(n\le5\times10^5)$个点$m(m\le10^6)$条边的无向图,边权全为$1$,满足若一个标记点能覆盖与其距离不超过$1$的点,从中选取不超过$k$个点能将整张图覆 ...

随机推荐

  1. How To Use Git Source Control with Xcode in iOS 6

    This tutorial is by Malek Trabelsi, a passionate iOS developer from Tunisia focused primarily on mob ...

  2. How To Install Oracle Forms 12c On Windows 7

    Below is the step by step guide to install Oracle Forms 12c on Windows 7. To install Oracle Forms 12 ...

  3. winsock 收发广播包 【转】

    winsock 收发广播包 ☛广播包的概念 广播包通常为了如下两个原因使用:1 一个应用程序希望在本地网络中找到一个资源,而应用程序对于该资源的地址又没有任何先验的知识. 2 一些重要的功能,例如路由 ...

  4. 安装XAMPP时出现 unable to realloc 83886080 bytes

    参考:https://www.apachefriends.org/faq_linux.html 转载:http://blog.xinspace.space/2015/08/06/xampp-unabl ...

  5. 【2048小游戏】——CSS/原生js爬坑之纯CSS模态对话框&游戏结束

    引言:2048小游戏的结束界面,使用纯CSS制作模态对话框,一般做模态对话框都会使用BootStrap自带的模态对话框组件方便使用,但在制作要运行在移动端的小项目时,就不能使用BootStrap,因为 ...

  6. linux中expr用法

    名称:expr  ### 字串长度  shell>> expr length "this is a test"  14  ### 数字商数  shell>> ...

  7. 分享一套C++入门基础视频

    本课程从C++起步.用户无需不论什么计算机基础,仅仅须要懂的主要的电脑操作,既可学习本课程.本课程适合在校大学生,在职人员等,通过本课程的学习,学员可掌握C++\MFC\VC++server端.网络编 ...

  8. Linux ps 命令查看进程启动及运行时间

    引言 同事问我怎样看一个进程的启动时间和运行时间,我第一反应当然是说用 ps 命令啦.ps aux或ps -ef不就可以看时间吗? ps aux选项及输出说明 我们来重新复习下ps aux的选项,这是 ...

  9. 回到顶部totop

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. 某个时间段关闭API

    def bet(): if 000000 < int(time.strftime("%H%M%S", time.localtime())) < 90000: print ...