题意:n个点m条边,找点集个数,点集满足有任意三个点成环,或者三个点互不相连

题解:暴力复杂度O(n^5/120*O(ok))==O(能过)

//#pragma comment(linker, "/stack:200000000")
//#pragma GCC optimize("Ofast,no-stack-protector")
//#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
//#pragma GCC optimize("unroll-loops")
#include<bits/stdc++.h>
#define fi first
#define se second
#define mk make_pair
#define pb push_back
#define pi acos(-1.0)
#define ll long long
#define vi vector<int>
#define mod 1000000007
#define C 0.5772156649
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#define pil pair<int,ll>
#define pli pair<ll,int>
#define pii pair<int,int>
#define cd complex<double>
#define ull unsigned long long
#define base 1000000000000000000
#define fio ios::sync_with_stdio(false);cin.tie(0) using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f3f,INF=0x3f3f3f3f3f3f3f3f; int ma[N][N];
ll c[N][N];
void init()
{
c[][]=c[][]=;
for(int i=;i<N;i++)
{
for(int j=;j<=i;j++)
{
if(j==)c[i][j]=;
else c[i][j]=(c[i-][j]+c[i-][j-])%mod;
}
}
}
ll quick(ll a,ll b)
{
ll ans=;
while(b)
{
if(b&)ans=ans*a%mod;
a=a*a%mod;
b>>=;
}
return ans;
}
bool ok(int a,int b,int c)
{
if(ma[a][b]&&ma[b][c]&&ma[c][a])return ;
if(!ma[a][b]&&!ma[b][c]&&!ma[c][a])return ;
return ;
}
bool ok(int a,int b,int c,int d)
{
if(ok(a, b, c))return ;
if(ok(a, b, d)) return ;
if(ok(a, c, d))return ;
if(ok(b, c, d))return ;
return ;
}
bool ok(int a,int b,int c,int d,int e)
{
if(ok(a,b,c,d))return ;
if(ok(a,b,c,e))return ;
if(ok(a,b,e,d))return ;
if(ok(a,e,c,d))return ;
if(ok(e,b,c,d))return ;
return ;
}
int main()
{
init();
int T;scanf("%d",&T);
for(int _=;_<=T;_++)
{
memset(ma,,sizeof ma);
int n,m;
scanf("%d%d",&n,&m);
for(int i=;i<m;i++)
{
int a,b;scanf("%d%d",&a,&b);
ma[a][b]=ma[b][a]=;
}
ll ans=;
if(n>=)
{
ans=quick(,n);
for(int i=;i<=;i++)
{
ans-=c[n][i];
ans=(ans+mod)%mod;
}
}
for(int i=;i<=n;i++)
for(int j=+i;j<=n;j++)
for(int k=+j;k<=n;k++)
if(ok(i,j,k))
ans++;
for(int i=;i<=n;i++)
for(int j=+i;j<=n;j++)
for(int k=+j;k<=n;k++)
for(int u=+k;u<=n;u++)
if(ok(i,j,k,u))
ans++;
for(int i=;i<=n;i++)
for(int j=+i;j<=n;j++)
for(int k=+j;k<=n;k++)
for(int u=+k;u<=n;u++)
for(int v=+u;v<=n;v++)
if(ok(i,j,k,u,v))
ans++;
printf("Case #%d: %lld\n",_,ans%mod);
}
return ;
} /***********************
***********************/

HDU - 5917 水题的更多相关文章

  1. HDU-1042-N!(Java大法好 &amp;&amp; HDU大数水题)

    N! Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Subm ...

  2. HDU 5391 水题。

    E - 5 Time Limit:1500MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  3. hdu 1544 水题

    水题 /* * Author : ben */ #include <cstdio> #include <cstdlib> #include <cstring> #i ...

  4. HDU排序水题

    1040水题; These days, I am thinking about a question, how can I get a problem as easy as A+B? It is fa ...

  5. hdu 2710 水题

    题意:判断一些数里有最大因子的数 水题,省赛即将临近,高效的代码风格需要养成,为了简化代码,以后可能会更多的使用宏定义,但是通常也只是快速拿下第一道水题,涨自信.大部分的代码还是普通的形式,实际上能简 ...

  6. Dijkstra算法---HDU 2544 水题(模板)

    /* 对于只会弗洛伊德的我,迪杰斯特拉有点不是很理解,后来发现这主要用于单源最短路,稍稍明白了点,不过还是很菜,这里只是用了邻接矩阵 套模板,对于邻接表暂时还,,,没做题,后续再更新.现将这题贴上,应 ...

  7. hdu 5162(水题)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5162 题解:看了半天以为测试用例写错了.这题玩文字游戏.它问的是当前第i名是原数组中的第几个. #i ...

  8. hdu 3357 水题

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3357 #include <cstdio> #include <cmath> # ...

  9. hdu 5038 水题 可是题意坑

    http://acm.hdu.edu.cn/showproblem.php?pid=5038 就是求个众数  这个范围小 所以一个数组存是否存在的状态即可了 可是这句话真恶心  If not all ...

随机推荐

  1. C# get post 的方法

    #region GET POST /// <summary> /// Get String data = GetString(URL , "PKEY=" + Pkeyl ...

  2. HDU 1104 Remainder(BFS 同余定理)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1104 在做这道题目一定要对同余定理有足够的了解,所以对这道题目对同余定理进行总结 首先要明白计算机里的 ...

  3. LightGBM值参数配置

    LightGBM 可以使用一个 pairs 的 list 或一个字典来设置参数: 1.Booster提升器的参数: param={'num_class':33, 'boosting_type':'gb ...

  4. 云备份厂商Rubrik再获2.61亿美元融资,估值高达33亿美元 转自中国存储网

    数据管理初创公司Rubrik在Bain Capital Ventures领导的最新一轮融资中筹集了2.61亿美元,估值为33亿美元. 现有的利益相关者 - Lightspeed Venture Par ...

  5. python调用API

    相信做过自动化运维的同学都用过API接口来完成某些动作.API是一套成熟系统所必需的接口,可以被其他系统或脚本来调用,这也是自动化运维的必修课. 本文主要介绍Python中调用API的几种方式,下面是 ...

  6. Redis缓冲区设置

    对于Redis服务器的输出(也就是命令的返回值)来说,其大小通常是不可控制的.有可能一个简单的命令,能够产生体积庞大的返回数据.另外也有可能因为执行了太多命令,导致产生返回数据的速率超过了往客户端发送 ...

  7. python 面向对象· self 讲解

    self就是参数 以形参形式 5.self是什么鬼? self是一个python自动会给传值的参数 那个对象执行方法,self就是谁. obj1.fetch('selec...') self=obj1 ...

  8. 【PGM】Representation--Knowledge Engineering,不同的模型表示,变量的类型,structure & parameters

    Part 1. 重要的区别: Template based   vs.   specific Directed  vs.  undirected Generative  vs.  discrimina ...

  9. ReactNative 环境配置

    一直是从事iOS的开发,现在研究下mac环境下reatNative的环境配置: 1. 安装HomeBlew(OS系统上的一个安装包管理器,安装后可以方便后续安装包的安装.) 终端命令: ruby -e ...

  10. Codeforces Round #523 (Div. 2) Solution

    A. Coins Water. #include <bits/stdc++.h> using namespace std; int n, s; int main() { while (sc ...