Guess
题意:对于一个序列,我们可以计算出一个符号矩阵,其中Sij为ai+...+aj的正负号,现在给你一个矩阵的上三角,求一个满足的序列
题解:对于这一题,按照白书上讲的,可以转化成前缀和来做。B【i】表示B[1]+B[2]+....+B[i]的和,sij=B[j]-B[i-1];如果Sij>0,就B[J]-B[I-1]>0,那么i-1和j建立一条边,相反的就j到i-1建边,如果等于0,不用考虑的,因为是n*(n-)/2个数,每个点和其他点都有关系,所以肯定会搜到。建好图之后,直接topsort 就可以得到一组B的值,然后相邻的相减,就可以得到一组a的值。这里,为方便,加入一个0点,并且B[0]=0;
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
using namespace std;
int b[],n;
int deg[];
bool map[][];
void init(){
memset(deg,,sizeof(deg));
memset(b,,sizeof(b));
memset(map,,sizeof(map));
}
void topsort(){
b[]=;
queue<int>Q;
for(int i=;i<=n;i++){
if(deg[i]==){
deg[i]--;
Q.push(i);
b[i]=;
}
}
while(!Q.empty()){
int u=Q.front();
Q.pop();
for(int i=;i<=n;i++){
if(map[u][i]){
deg[i]--;
if(deg[i]==){
b[i]=b[u]+;
deg[i]--;
Q.push(i);
}
}
}
}
}
char temp;
int main(){
int test;
scanf("%d",&test);
while(test--){
scanf("%d",&n);
init();
for(int i=;i<n;i++){
for(int j=i+;j<=n;j++){
cin>>temp;
if(temp=='+'){
deg[j]++;
map[i][j]=;
}
else if(temp=='-'){
deg[i]++;
map[j][i]=;
}
}
}
topsort();
for(int i=;i<=n;i++){
if(i<n)printf("%d ",b[i]-b[i-]);
else
printf("%d\n",b[i]-b[i-]);
}
}
}
随机推荐
- IE8下提示'console'没有定义错误
在开发的过程中因为调试的原因,在代码中增加console.info("xxxx"),而未进行删除 在IE8下測试该代码所在的页面报错,例如以下: 须要注意的是,使用console对 ...
- BAE、SAE 与 GAE 对比
从数据库.应用配置.计费.域名绑定.平台服务对比了 BAE.SAE 以及 GAE 的优劣,最后给出云平台选型的建议. 数据库SAE 不支持 InnoDB(可申请支持),BAE 默认支持. BAE 不支 ...
- Imatest 崩溃
在使用Imatest时候,发现选取chart图的区域时候.Imatest停止工作,例如以下图.百度半天没有找到类似的问题,事实上这个问题在之前的公司也碰到过一回,卸载重N次,无效.如今又碰到了,问之前 ...
- Programming a Spider in Java 源码帖
Programming a Spider in Java 源码帖 Listing 1: Finding the bad links (CheckLinks.java) import java.awt. ...
- css(display,float,position)
display 用来设置元素的显示方式 display : block | none | inline | inline-block inline:指定对象为内联元素 block:指定对象为块元素 i ...
- sqlserver 误删数据恢复
----创建存储过程 CREATE PROCEDURE Recover_Deleted_Data_Proc @Database_Name NVARCHAR(MAX) , @SchemaName_n_T ...
- asp.net 在线人数统计\页面访问量
1.新建网站,添加几个窗体.webForm1.aspx ,ViewStateForm.aspx 2.在网站的根目录下添加全局应用程序类“Global.aspx” .(重要) 3.在“Global.as ...
- wpf 自定义RadioButton控件样式
实现的效果为: 我感觉来自定义RadioButton样式和定义button空间的样式差不多,只是类型不同而已. 接下来分析一下样式代码: <!--自定义单选按钮样式--> & ...
- 最新xgboost python32位下安装xgboost
网上很多windows python下安装xgboost都是很简单的几步无非是visual studio2013以上版本编译,安装.但现在最新的xgboost已经移除了c++工程文件,找到旧版本的也多 ...
- SGU 128.Snake
时间限制:0.25s 空间限制:4m 题意: 在一个平面坐标中有N个点,现在要你用这N个点构造一个闭合图形,这个图形要满足以下条件: 1.这个图形要是闭合的: 2.图形上的点只能是给 ...