大视野3562 [SHOI2014]神奇化合物
http://www.lydsy.com/JudgeOnline/problem.php?id=3562
//Accepted 6020 kb 1012 ms
//由于题目的特殊要求:然而,令科学家们大为惊异的是,SHTSC 在变化过程中始终保持着一种特殊的性质:
//即不存在这样的原子序列 a1,a2,...,an(n>3)满足 a1 与 a2、a2 与
//a3、......、an-1 与 an 以及 an 与 a1 都通过化学键相连,但它们之间却没有其他化学键相连的情况。
//所以有如下结论:
//记所求答案为ans
//对于A x y,判断是否存在另外的一个点z使x,z有边,y,z有边
//如果存在z,则操作以后ans不变,否则ans+=1;
//对于D x y,判断是否存在另外的一个点z使x,z有边,y,z有边
//如果存在z,则操作以后ans不变,否则ans-=1;
#include <cstdio>
#include <cstring>
#include <iostream>
#include <queue>
#include <cmath>
#include <algorithm>
using namespace std;
#define ll long long
;
;
struct node
{
int v,u;
node()
{
}
node(int u,int v):u(u),v(v)
{
}
}p[imax_m];
int head[imax_n],next[imax_m];
int e;
int vis[imax_n];
int ans;
int Q;
int n,m;
void init()
{
memset(head,-,sizeof(head));
memset(next,-,sizeof(next));
e=;
}
void addEdge(int u,int v)
{
p[e]=node(u,v);
next[e]=head[u];
head[u]=e++;
}
void deleteEdge(int u,int v)
{
,i;
;i=next[i])
{
if (p[i].v==v) break;
pre=i;
}
)
{
//head[u]=next[next[i]];
head[u]=next[i];
}
else
{
//next[pre]=next[next[i]];
next[pre]=next[i];
}
}
void dfs(int u)
{
vis[u]=;
;i=next[i])
{
int v=p[i].v;
if (!vis[v])
dfs(v);
}
}
int countTheNumberOfGraph()
{
memset(vis,,sizeof(vis));
;
;i<=n;i++)
{
if (!vis[i])
{
dfs(i);
ans++;
}
}
return ans;
}
/*
bool find(int x,int y)
{
int flag=0;
for (int i=1;i<=n;i++)
{
if (i==x) continue;
if (i==y) continue;
flag=0;
for (int j=head[i];j+1;j=next[j])
{
if (p[j].v==x) flag++;
if (p[j].v==y) flag++;
if (flag==2) return 1;
}
}
return 0;
}
*/
int mark[imax_n];
bool find(int x,int y)
{
memset(mark,,sizeof(mark));
;i=next[i])
{
if (p[i].v!=y)
mark[p[i].v]++;
}
;i=next[i])
{
if (p[i].v!=x)
mark[p[i].v]++;
}
;i<=n;i++)
{
//printf("mark[%d]=%d\n",i,mark[i]);
) ;
}
;
}
void operatorA(int x,int y)
{
)
{
//printf("A %d %d ans--\n",x,y);
ans--;
}
addEdge(x,y);
addEdge(y,x);
}
void operatorD(int x,int y)
{
)
{
//printf("D %d %d ans++\n",x,y);
ans++;
}
deleteEdge(x,y);
deleteEdge(y,x);
}
void operatorQ()
{
printf("%d\n",ans);
}
];
int main()
{
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
)
{
int x,y;
init();
;i<m;i++)
{
scanf("%d%d",&x,&y);
addEdge(x,y);
addEdge(y,x);
}
ans=countTheNumberOfGraph();
scanf("%d",&Q);
;i<Q;i++)
{
scanf("%s",s);
]=='A')
{
scanf("%d%d",&x,&y);
operatorA(x,y);
}
]=='D')
{
scanf("%d%d",&x,&y);
operatorD(x,y);
}
]=='Q')
{
operatorQ();
}
}
}
;
}
大视野3562 [SHOI2014]神奇化合物的更多相关文章
- BZOJ3562 : [SHOI2014]神奇化合物
可以发现,从头到尾有一堆点是始终连在一起的,所以把没被删掉的一开始就有的边都加上后求出每个联通块, 缩完点后我们发现,边数也减少得差不多了,剩下的就直接暴力. #include<cstdio&g ...
- python3爬取”理财大视野”中的股票,并分别写入txt、excel和mysql
需求:爬取“理财大视野”网站的排名.代码.名称.市净率.市盈率等信息,并分别写入txt.excel和mysql 环境:python3.6.5 网站:http://www.dashiyetouzi.co ...
- 【大视野入门OJ】1099:歌德巴赫猜想
Description 歌德巴赫猜想大家都很熟悉吧?给一个数,能够分解成两个素数的和.现在要给你一个n,6 <= n < 1000000,让你求他会分解成哪两个素数?如果存在多组解,则要求 ...
- VS大视野
vs的本质:他是微软公司的员工一起开发的一个项目: 既然是项目:那么就是用编程语言编出来的! 用的是C# C#有他的特点:继承,封装,多态!等 我们在使用vs的时候,为什么可以使用很多的里面已经存在的 ...
- [bzoj\lydsy\大视野在线测评]题解(持续更新)
目录: 一.DP 二.图论 1.最短路 2.强连通分量 三.利用单调性维护 四.贪心 五.数据结构 1.并查集 六.数学 1.计数问题 2.数学分析 七.博弈 八.搜索 /////////////// ...
- 【大视野入门OJ】1083:数组的二分查找
Description 在1500个整数中查整数x的位置,这些数已经从小到大排序了.若存在则输出其位置,若不存在则输出-1. Input 第一行,一个整数x 后面1500行,每行一个整数 Output ...
- 大视野 1012: [JSOI2008]最大数maxnumber(线段树/ 树状数组/ 单调队列/ 单调栈/ rmq)
1012: [JSOI2008]最大数maxnumber Time Limit: 3 Sec Memory Limit: 162 MBSubmit: 9851 Solved: 4318[Submi ...
- BZOJ4974 大视野1708月赛 字符串大师
传送门 题目大意 给定一个字符串的每一个前缀的最短循环节长度,求符合要求的字典序最小的字符串. 题解 给定循环节最短长度就是给定了这个字符串$kmp$的$next$数组,即$X_i=i-next_i$ ...
- 大视野 1016: [JSOI2008]最小生成树计数(最小生成树)
总结:此类题需要耐心观察规律,大胆猜想,然后证明猜想,得到有用的性质,然后解答. 简单的说:找隐含性质. 传送门:http://61.187.179.132/JudgeOnline/problem.p ...
随机推荐
- Virtualbox安装USB2.0/3.0
系统:Ubuntu16.04 软件:Virtualbox5.1 1.打开Virtualbox,不启动虚拟系统. 2.点击设置->USB->启动usb2.0. 3.若发现不能启用,则到官网下 ...
- 卸载mysql
如果你的电脑里装过MySQL,想再重新安装MySQL的时候可能就会因为前一版本卸载不彻底而出现错误.最常见的就是安装好后设置参数的最后一步验证时,会在Execute configurattion步骤中 ...
- 收集C#常用类:自己写的一个DBHelper类
随着学的东西越来越多,一点点的完善吧! using System; using System.Collections.Generic; using System.Linq; using System. ...
- javascript进阶系列专题:作用域与作用域链
字面意思,作用域是指变量和函数的作用范围,换言之,作用域决定了变量和函数的可见性和有效时间.javascript作用域是用函数来区分,与其他语言的大括号不同. for (var i=0; i<5 ...
- javascript实例备忘
一,javascript动态显示: 如显示效果上图所示: 如图显示鼠标放在百度谷歌等字样上市动态显示其内容明细:代码如下:<head><title></title> ...
- EntityFrameWork使用MySql数据库分页的BUG
环境 使用MySQL Connector NET 6.7.4+EF5.0+VS2010 问题描述 IQueryable<T>类型的Where方法和Skip或Take方法一起使用时,生成的S ...
- c语言迷宫游戏的实现
// // main.c // 迷宫游戏代码实现 // #include <stdio.h> #define ROW 6 //宏定义行 #define COL 6 //宏定义列 /** * ...
- Pycharm快捷方式
PYCHARM的快捷方式 PyCharm3.0默认快捷键(翻译的)1.编辑(Editing)Ctrl + Space 基本的代码完成(类.方法.属性)Ctrl + Alt + Space 快速导入任意 ...
- GestureDetectorl监听
package com.example.gesturedetectorinterface; /** * write by harvic * 2014-9-25 * blog.csdn.net/harv ...
- C#开发系统服务时用的定时器组件
写服务时,都需要为定时器写不少的代码,感觉很麻烦,今天把这些代码封装一下,希望能简化一下这方面的工作,把精力都集中在功能上 本定时器组件,每次只启动一个服务实例进行处理,而不会同时多次执行服务代码. ...