A:辣鸡题。搜索怎么这么难啊。不会啊。

  B:裸的高斯消元,看起来可以优化到n2

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N 210
int n,m;
double a[N][N],p;
void gauss()
{
for (int i=;i<n+m+;i++)
{
int mx=i;
for (int j=i+;j<=n+m+;j++)
if (fabs(a[j][i])>fabs(a[mx][i])) mx=j;
if (i!=mx) swap(a[i],a[mx]);
for (int j=i+;j<=n+m+;j++)
{
double t=a[j][i]/a[i][i];
for (int k=i;k<=n+m+;k++)
a[j][k]-=t*a[i][k];
}
}
}
int main()
{
freopen("game.in","r",stdin);
freopen("game.out","w",stdout);
n=read(),m=read();cin>>p;
a[][]=p;a[][]=-p;a[][]--;a[][n+m+]--;
for (int i=;i<n+m;i++)
a[i][i-]=p,a[i][i+]=-p,a[i][i]--,a[i][n+m+]--;
a[n+m][n+m]=-p;a[n+m][n+m-]=p;a[n+m][n+m]--,a[n+m][n+m+]--;
a[n][n-]=a[n][n+]=a[n][n+m+]=;
a[n+m+][n-]=p,a[n+m+][n+]=-p,a[n+m+][n+m+]--,a[n+m+][n+m+]--;
gauss();
printf("%.7lf",a[n+m+][n+m+]/a[n+m+][n+m+]);
return ;
}

  C:考虑团中编号最大的点,只要找到其中包含关系就行了。可以发现若i>j,i向j有边,只要j在i所连点中的排名和其度数-1相同,j就是被包含的。

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<vector>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N 1000010
int n,m,degree[N],ans=;
bool flag[N];
vector<int> a[N];
int main()
{
freopen("network.in","r",stdin);
freopen("network.out","w",stdout);
n=read(),m=read();
for (int i=;i<=m;i++)
{
int x=read(),y=read();
a[y].push_back(x);degree[y]++;
}
for (int i=;i<=n;i++)
{
sort(a[i].begin(),a[i].end());
degree[i]=unique(a[i].begin(),a[i].end())-a[i].begin();
}
for (int i=;i<=n;i++) flag[i]=;
for (int i=n;i;i--)
if (flag[i])
{
ans++;
for (int j=;j<degree[i];j++)
if (degree[a[i][j]]==j) flag[a[i][j]]=;
}
cout<<ans;
return ;
}

  result:240 rank1

Contest 2的更多相关文章

  1. Programming Contest Problem Types

        Programming Contest Problem Types Hal Burch conducted an analysis over spring break of 1999 and ...

  2. hdu 4946 2014 Multi-University Training Contest 8

    Area of Mushroom Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  3. 2016 Multi-University Training Contest 2 D. Differencia

    Differencia Time Limit: 10000/10000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  4. 2016 Multi-University Training Contest 1 G. Rigid Frameworks

    Rigid Frameworks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) ...

  5. hdu-5988 Coding Contest(费用流)

    题目链接: Coding Contest Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Ot ...

  6. ZOJ 3703 Happy Programming Contest

    偏方记录背包里的物品.....每个背包的价值+0.01 Happy Programming Contest Time Limit: 2 Seconds      Memory Limit: 65536 ...

  7. 2012 Multi-University Training Contest 9 / hdu4389

    2012 Multi-University Training Contest 9 / hdu4389 打巨表,实为数位dp 还不太懂 先这样放着.. 对于打表,当然我们不能直接打,这里有技巧.我们可以 ...

  8. 2014 Multi-University Training Contest 9#11

    2014 Multi-University Training Contest 9#11 Killing MonstersTime Limit: 2000/1000 MS (Java/Others)   ...

  9. 2014 Multi-University Training Contest 9#6

    2014 Multi-University Training Contest 9#6 Fast Matrix CalculationTime Limit: 2000/1000 MS (Java/Oth ...

  10. 校际联合Contest

    每次开一个坑都像是重新被碾压的预感 最近的新闻,以前很喜欢乔任梁的<复活>...然后他就死了...感觉我再多愁善感一点的话...就要悲伤逆流成河了吧... Contest 09/24(乐滋 ...

随机推荐

  1. Spring之HandlerInterceptor拦截器

    思维导图下载:https://pan.baidu.com/s/19z73Bs8MsHFAupga3Cr3Gg

  2. codevs 5429 多重背包

    5429 多重背包 http://codevs.cn/problem/5429 分析: f[i]=g[j-k*siz[i]]+k*val[i]; 发现一个状态d只会更新,d+siz[i],d+2*si ...

  3. 1722: [Usaco2006 Mar] Milk Team Select 产奶比赛

    1722: [Usaco2006 Mar] Milk Team Select 产奶比赛 https://www.lydsy.com/JudgeOnline/problem.php?id=1722 分析 ...

  4. 图论-最短路径 2.Dijkstra算法O (N2)

    2.Dijkstra算法O (N2) 用来计算从一个点到其他所有点的最短路径的算法,是一种单源最短路径算法.也就是说,只能计算起点只有一个的情况. Dijkstra的时间复杂度是O (N2),它不能处 ...

  5. JS中的eval函数

           最近开始慢慢学习前端的脚本了,上次碰到了一个问题,需要通过一个对象的属性名称来获得这个对象这个属性的值.如果在C#中,那么直接通过反射就可以了.而在js中,也有类似的函数,那就是eval ...

  6. 开源工具 | 手游自动化框架GAutomator,新增iOS系统和UE4引擎支

    WeTest 导读 GAutomator是腾讯WeTest推出的手游自动化测试框架,已用于腾讯多个手游项目组的自动化测试. 1.GAutomator诞生背后 研究过手游自动化测试的同学都知道,虽然市场 ...

  7. C#反射的简单示例

    反射(Reflection)可以在运行时获 得.NET中每一个类型(包括类.结构.委托.接口和枚举等)的成员,包括方法.属性.事件,以及构造函数等.还可以获得每个成员的名称.限定符和参数等反正说白了就 ...

  8. 「Leetcode」974. Subarray Sums Divisible by K(Java)

    分析 这题场上前缀和都想出来了,然后就没有然后了...哭惹.jpg 前缀和相减能够得到任意一段连续区间的和,然后他们取余\(K\)看余数是否为0就能得到.这是朴素的遍历算法.那么反过来说,如果两个前缀 ...

  9. MySQL☞大结局

    emmm,看了这么多大概会用了点点,学到了一点点 select  列名/*/聚合函数 from  表名1 别名1  连接查询(左外.右外等等) 表名2 别名2 on 关联条件 where 查询条件 g ...

  10. jvm之GC知识点

    GCRoots:        虚拟机栈(栈帧中的局部变量表)引用的对象       方法区中静态属性引用的对象       方法去中常量引用的对象       本地方法栈中JNI(NATIVE方法) ...