POJ 3275 两种做法
题意:
思路:
1.Floyd传递闭包 n^3/32 勉强卡过去吧……
2.用邻接表搞Floyd 也是勉强卡过去……
最后用n*(n-1)-矩阵中为1的个数就OK了
传递闭包:
//By SiriusRem
#include <bitset>
#include <cstdio>
#include <algorithm>
using namespace std;
bitset<1005>map[1005];
int n,m,xx,yy,ans;
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++){
scanf("%d%d",&xx,&yy);
map[xx][yy]=1;
}
for(int j=1;j<=n;j++){
for(int i=1;i<=n;i++){
if(map[i][j])map[i]|=map[j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(map[i][j])ans++;
}
}
printf("%d\n",n*(n-1)/2-ans);
}
邻接表:
//By SiriusRem
#include <bitset>
#include <cstdio>
#include <algorithm>
using namespace std;
#define N 1000005
int n,m,xx,yy,v[N],first[N],next[N],tot,map[1005][1005];
int first2[N],next2[N],v2[N],tot2;
void add(int x,int y){
v[++tot]=y,next[tot]=first[x],first[x]=tot;
}
void add2(int x,int y){
v2[++tot2]=y,next2[tot2]=first2[x],first2[x]=tot2;
}
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++){
scanf("%d%d",&xx,&yy);
add(xx,yy);
map[xx][yy]=1;
add2(yy,xx);
}
for(int k=1;k<=n;k++){
for(int i=first2[k];i;i=next2[i]){
for(int j=first[k];j;j=next[j]){
if(!map[v2[i]][v[j]]){
m++;
map[v2[i]][v[j]]=1;
add(v2[i],v[j]);
add2(v[j],v2[i]);
}
}
}
}
printf("%d\n",n*(n-1)/2-m);
}
POJ 3275 两种做法的更多相关文章
- jqGrid中实现radiobutton的两种做法
http://blog.sina.com.cn/s/blog_4f925fc30102e27j.html jqGrid中实现radiobutton的两种做法 ------------------- ...
- SqlServer保留几位小数的两种做法
SqlServer保留几位小数的两种做法 数据库里的 float momey 类型,都会精确到多位小数.但有时候 我们不需要那么精确,例如,只精确到两位有效数字. 解决: 1. 使用 Round( ...
- 「POJ 3666」Making the Grade 题解(两种做法)
0前言 感谢yxy童鞋的dp及暴力做法! 1 算法标签 优先队列.dp动态规划+滚动数组优化 2 题目难度 提高/提高+ CF rating:2300 3 题面 「POJ 3666」Making th ...
- LVS+keepalived 的DR模式的两种做法
LVS DR模式搭建 准备工作 三台机器: dr:192.168.13.15 rs1:192.168.13.16 rs2: 192.168.13.17 vip:192.168.13.100 修改DR上 ...
- [正经分析] DAG上dp两种做法的区别——拓扑序与SPFA
在下最近刷了几道DAG图上dp的题目. 要提到的第一道是NOIP原题<最优贸易>.这是一个缩点后带点权的DAG上dp,它同时规定了起点和终点. 第二道是洛谷上的NOI导刊题目<最长路 ...
- [转载]EasyUI Pagination 分页的两种做法
EasyUI 的 datagrid 支持服务器端分页,但是官方的资料比较少,以下总结了两种 datagrid 的服务器端分页机制,可根据情况具体使用. 一:使用 datagrid 默认机制 后台: p ...
- 两种MD5最后的值不一样,因为两种做法不一样
//MD5加密 private static string Md5Hash(string input) { MD5CryptoServiceProvider m ...
- EasyUI Pagination 分页的两种做法
EasyUI 的 datagrid 支持服务器端分页,但是官方的资料比较少,以下总结了两种 datagrid 的服务器端分页机制,可根据情况具体使用. 一:使用 datagrid 默认机制 后台: p ...
- 移动端Web适配的两种做法思路总结
看了几篇文章,理一下网易跟淘宝移动端适配的思路,主要是参考 从网易与淘宝的font-size思考前端设计稿与工作流 像素相关概念 物理像素(physical pixel) 一个物理像素是显示器(手机屏 ...
随机推荐
- Vue内置指令
v-text 类型: string用法: 更新元素的 textContent.如果要更新部分的 textContent ,需要使用 {{ Mustache }} 插值. v-html 类型: stri ...
- numpy学习笔记 - numpy数组的常见用法
# -*- coding: utf-8 -*- """ 主要记录代码,相关说明采用注释形势,供日常总结.查阅使用,不定时更新. Created on Mon Aug 20 ...
- Step by Step Do IOS Swift CoreData Simple Demo
简单介绍 这篇文章记录了在 IOS 中使用 Swift 操作 CoreData 的一些基础性内容,因为缺乏文档,基本上都是自行实验的结果.错漏不可避免,还请谅解. 部分内容借鉴了 Tim Roadle ...
- 小贝_mysql select5种子句介绍
mysql select5种子句介绍 简要 一.五种字句 二.具体解释五种字句 一.五种字句 where.group by.having.order by.limit 二.具体解释五种字句 2.1.理 ...
- Cannot find the class file for javax.servlet.ServletContext.
当eclipse中新导入的Java Project的时候.往往会碰到各种各样的问题,以下是个典型的问题: Cannot find the class file for javax.servlet.Se ...
- 安卓操作sqlite3,增删改查
创建 layout <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...
- Java Web应用定制404错误页面
Http响应状态码404的含义是服务器端没有找到客户端请求的资源,定制404错误页面至少有以下两个好处: 1.向客户端隐藏服务器信息,服务器提供的默认404错误页面上一般都包含当前应用使用的是什么服务 ...
- Servlet设置Cookie无效
项目中保存用户信息用到了Cookie,之前没有太注意,今天怎么设置Cookie都无效,断点跟了无数遍,都没有找出问题所在,明明发送Cookie的代码都有执行,可是愣是找不到Cookie发送到哪里去了, ...
- MySQL5.6主从复制方案
MySQL5.6主从复制方案 1.主备服务器操作 环境:CentOS 6.3/6.4 最小化缺省安装,配置好网卡. 安装MySQL前,确认Internet连接正常,以便下载安装文件. # 新增用户组 ...
- 前端验证银行卡(Luhn校验算法)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...