BZOJ 4419 发微博

set暴力。记录一个rec数组表示每一个人发了多少次微博,当+时减去rec,-时加上rec即可表示看到了这个人的微博数量。

最后遍历一遍set再加上rec即可。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<set>
#define maxn 200500
using namespace std;
set <int> s[maxn];
int n,m,x,y,ans[maxn],rec[maxn];
set <int> ::iterator it;
char ss[2];
void work1()
{
    scanf("%d",&x);
    rec[x]++;
}
void work2()
{
    scanf("%d%d",&x,&y);
    s[x].insert(y);
    s[y].insert(x);
    ans[x]-=rec[y];
    ans[y]-=rec[x];
}
void work3()
{
    scanf("%d%d",&x,&y);
    s[x].erase(y);
    s[y].erase(x);
    ans[x]+=rec[y];
    ans[y]+=rec[x];
}
int main()
{
    scanf("%d%d",&n,&m);
    for (int i=1;i<=m;i++)
    {
        scanf("%s",ss);
        if (ss[0]==‘!‘) work1();
        else if (ss[0]==‘+‘) work2();
        else work3();
    }
    for (int i=1;i<=n;i++)
    {
        for (it=s[i].begin();it!=s[i].end();it++)
        {
            int now=*it;
            ans[i]+=rec[now];
        }
    }
    for (int i=1;i<=n-1;i++)
        printf("%d ",ans[i]);
    printf("%d\n",ans[n]);
    return 0;
}
时间: 2024-10-22 03:51:48

BZOJ 4419 发微博的相关文章

bzoj4419[SHOI2013]发微博

题意:给你一个初始没有边,点权均为0的无向图,三种操作:加边,删边,选择一个点将当前与之相邻的点(不包括自身)的点权+1,询问最后所有点的点权. 据说正解是set维护每个人的朋友,然后考虑每次加边.删边对答案的贡献......但作为脑子有坑的选手,我搞出了一个动态开点线段树....首先离线,分别考虑每条边对答案的贡献.不妨分别考虑这条边存在的每一个时间区间.那么我们只要知道这个时间区间中两个端点各进行了几次点权增加(发微博)操作就可以更新两边的答案.考虑对每一个点开一棵线段树,如果这个点在第i个

Python爬虫实现半自动发微博

Python实现半自动发微博[用COOKIES代替模拟登录:用WAP版微博代替网页版微博:每次还要改post数据的URL...半半自动的感觉] 微博的内容是从糗事百科抓取的最热段子以及某网站的每日晚安. #!/usr/bin/python #coding=utf-8 import urllib import urllib2 import time import requests import re from bs4 import BeautifulSoup import sys import o

如何写一个发微博的页面(包括插入图片,插入表情,插入话题,插入Location) (一)

先上效果图: 先看页面布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"

[PHP] 调用微博API 发微博OAuth2.0

在实际测试中出现很多问题, 第一就是按照文档调用ACCESS_TOKEN的时候费老劲啦,因为是编辑线上的,有好多中文空格,没有看出来!整了好久! 第二个就是在调用api发微博的时候出现乱码!必须把发送内容转化成URLcode的格式! 还有就是在index.php文件标红的$URL地址传输的时候问题! 下面看码吧,还有就是封装好的伪造表单提交curl.class.php的类! 文件:weibo.php 1 <!DOCTYPE html> 2 <html lang="en"

iOS微博项目(七)发微博和定位

class a导入class b,class b导入class a 会出现错误 如果keyboard不显示,应该是hardware->connect选择了 1. 发微博UI 2.定位 一直不回调,后来发现是ios8后方法更新了:http://blog.devzeng.com/blog/ios8-corelocation-framework.html 1)[_locationManager requestAlwaysAuthorization];//添加这句2)在Info.plist文件中添加如下

Java调用 新浪微博API 接口发微博,逐条讲解,绝对清晰

最近要做个课程设计,使用微博控制树莓派,树莓派再控制发光二极管的亮和灭,主要设计分两层,上层是用Java调用新浪微博API来实现对微博旳监听,当我的微博被回复时能够自动读取评论内容,并根据评论的指令内容来决定树莓派的控制动作.下层是用C语言调用操作系统底层接口来实现用树莓派GPIO接口控制发光二极管的闪烁.亮灭. 由于网上教程都很老了,最近微博接口发生了很多变化,所以我决定全新写一篇详细的博文,如若能对您起到帮助作用,那将是我莫大的荣幸.同时我非常希望能与您交流,有问题请在评论里回复我. 本文将

[iOS微博项目 - 3.1] - 发微博界面

github: https://github.com/hellovoidworld/HVWWeibo   A.发微博界面:自定义UITextView 1.需求 用UITextView做一个编写微博的输入框 没有输入任何文本的时候显示占位文本 统一占位文本和正文的字体 2.思路 系统自带的输入控件有UITextField和UITextView两种 UITextField:自带占位文本属性,不能换行 UITextView:没有占位文本属性,能换行 这里我们选择UITextView进行改造 根据是否输

试验IFTTT同步发微博

没啥 测试下同步发微博    

“最美警花”深夜发微博:遇大钞扎堆购物防假币

昨日1时47分,网友“生若夏花w”发了一条微博,提醒开店的网友,如果店里一下子涌来几名顾客,都是用百元大钞买东西,就要特别留心假币. 这条微博说:“假币汹涌来袭!一下子店里挤来四五名客人,有人要看烟有人要买水有人要找钱,烟店小弟手忙脚乱间收了1000多元假币.” “生若夏花w”是被誉为“最美警花”的台江区茶亭派出所民警吴炼.她告诉记者,事情发生在群众路浦尾巷的一家店,店里忽然来了几名客人,有的买水有的买烟,都是用100元的人民币,都要求找钱,小弟匆忙之中收了许多假币,事后才发现不对劲,连忙报了警