SRM480
250pt:
题意:给定n个网站,以及n个网站的关键词,还有一个危险词库。如果一个网站的关键词中>=th的危险词,那么这个网站便是危险的。同时,他的所有关键词加入危险词库。问,有多少个危险网站。
思路:直接模拟。
code:
#line 7 "InternetSecurity.cpp"
#include <cstdlib>
#include <cctype>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <string>
#include <iostream>
#include <sstream>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <fstream>
#include <numeric>
#include <iomanip>
#include <bitset>
#include <list>
#include <stdexcept>
#include <functional>
#include <utility>
#include <ctime>
using namespace std; #define PB push_back
#define MP make_pair #define REP(i,n) for(i=0;i<(n);++i)
#define FOR(i,l,h) for(i=(l);i<=(h);++i)
#define FORD(i,h,l) for(i=(h);i>=(l);--i) typedef vector<int> VI;
typedef vector<string> VS;
typedef vector<double> VD;
typedef long long LL;
typedef pair<int,int> PII; class InternetSecurity
{
public:
vector<string> A[];
bool v[];
vector <string> determineWebsite(vector <string> wbs, vector <string> key, vector <string> dan, int th)
{
for (int i = ; i < key.size(); ++i){
string tmp;
stringstream ss;
A[i].clear();
ss << key[i];
while (ss >> tmp) A[i].PB(tmp);
// cout << A[i][A[i].size() - 1] << endl;
}
set<string> S;
memset(v, , sizeof(v));
for (int i = ; i < dan.size(); ++i) S.insert(dan[i]);
bool keepLooking = true;
while (keepLooking){
keepLooking = false;
for (int i = ; i < key.size(); ++i)
if (!v[i]){
int cnt = ;
for (int j = ; j < A[i].size(); ++j)
if (S.find(A[i][j]) != S.end()) ++cnt;
if (cnt >= th){
keepLooking = true;
v[i] = true;
for (int j = ; j < A[i].size(); ++j)
S.insert(A[i][j]);
}
}
}
vector<string> ans;
ans.clear();
for (int i = ; i < key.size(); ++i)
if (v[i]) ans.PB(wbs[i]);
return ans;
}
};
450pt:
题意:给定一个DAG的客户机及服务器之间的关系,服务器只有入边。现在求在那些边上装一些安全设置,使得所有客户机到服务器至少都有经过一个安全设置的边。
思路:因为是DAG,那么直接对原图进行一边搜索,记录直接点的状态,转移到根状态
code:
#line 7 "NetworkSecurity.cpp"
#include <cstdlib>
#include <cctype>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <string>
#include <iostream>
#include <sstream>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <fstream>
#include <numeric>
#include <iomanip>
#include <bitset>
#include <list>
#include <stdexcept>
#include <functional>
#include <utility>
#include <ctime>
using namespace std; #define PB push_back
#define MP make_pair #define REP(i,n) for(i=0;i<(n);++i)
#define FOR(i,l,h) for(i=(l);i<=(h);++i)
#define FORD(i,h,l) for(i=(h);i>=(l);--i) typedef vector<int> VI;
typedef vector<string> VS;
typedef vector<double> VD;
typedef long long LL;
typedef pair<int,int> PII; class NetworkSecurity
{
public:
int n, m, ans;
bool vis[];
vector<string> S, C;
long long S1[];
void dfs(int u){
if (vis[u]) return;
vis[u] = true;
S1[u] = ;
for (int i = ; i < C[u].size(); ++i)
if (C[u][i] == 'Y'){
dfs(i);
S1[u] |= S1[i];
}
for (int i = ; i < S[u].size(); ++i)
if (S[u][i] == 'Y'){
if (!((1LL << i) & S1[u])){
++ans;
S1[u] |= (1LL << i);
}
}
}
int secureNetwork(vector <string> clientCable, vector <string> serverCable)
{
ans = ;
S = serverCable;
C = clientCable;
memset(vis, , sizeof(vis));
for (int i = ; i < S.size(); ++i)
if(!vis[i]) dfs(i);
return ans;
}
};
SRM480的更多相关文章
随机推荐
- 虚拟机vmware centos7 扩展磁盘空间
0.思路 创建一个新的逻辑分区,将新的逻辑分区格式化ext3(或其他类型)的文件系统,mount到磁盘空间不够的文件系统,就跟原来的分区/文件系统一样的使用 1.准备 1.1 注意使用VMware自带 ...
- Android.Study.Question
1. NullPointerException 1.1 发生该异常的原因. 1.2 解决方法有哪几种? try-catch 2. Eclipse 中 debug/run 两个模式,run 是relea ...
- 探索未知种族之osg类生物---呼吸分解之事件循环二
VPM矩阵 1.V 表示摄像机的观察矩阵(View Matrix),它的作用是把对象从世界坐标系变换到摄像机坐标系.因此,对于世界坐标系下的坐标值 worldCoord(x0, y0, z0),如果希 ...
- 转录组分析综述A survey of best practices for RNA-seq data analysis
转录组分析综述 转录组 文献解读 Trinity cufflinks 转录组研究综述文章解读 今天介绍下小编最近阅读的关于RNA-seq分析的文章,文章发在Genome Biology 上的A sur ...
- c++文件的输入输出
emmm,错误地方还请指出(以下代码复制粘贴会报错,我用codeblocks测试过,不知道为什么qaq) 头文件#include < fstream > 这里ofstream是" ...
- 10个办法让设计小白迅速get海报设计要点!
对于设计师而言,海报和宣传单的设计,几乎是每一个设计师的必修课.如今网页上的 Banner.宣传和促销的数字海报,大多脱胎于我们所熟知的海报设计. 对于推销产品.连接客户,海报始终是一种最为有趣和实用 ...
- java itext 报错 com.itextpdf.text.DocumentException: Font 'STSong-Light' with 'UniGB-UCS2-H'
com.itextpdf.text.DocumentException: Font 'STSong-Light' with 'UniGB-UCS2-H' 解决方案 <dependency> ...
- 关于传统项目打成war包的的分析
技术在不断的革新,以前的项目没有jar管理工具时,都是手动将依赖的jar拷贝到项目之下,然后Build Path,之后Maven出现了,出现了jar包中央仓库,所有的jar包资源集中在这里,免去频繁去 ...
- 记录一次JVM调优【GC日志的分析】
首先查看服务器版本默认信息: 修改tomcat/bin/catalina.sh,在最顶端加入JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDetails -Xloggc ...
- CSS-弹性布局-伪类选择器-复杂选择器
1.定位 1.堆叠顺序 一旦将元素变为已定位元素的话,元素们则有可能出现堆叠的效果. 如何改变堆叠顺序? 属性:z-index 取值:无单位的数字,数字越大越靠上. 注意: 1.父子元素间,z-ind ...