Bzoj-"唐"果

最近tjm一直在刷bzoj啊...刷题量爆涨看了好激激

蓝鹅自己不知道多久没刷bzoj了

题数一直卡在39好生气...

开始百度->Bzoj ***(算法||数据结构)->Bzoj->找题

tmd怎么那么多权限题(大雾

终于找到一道不是权限题的题了...

给tjm送去一个人头~

看到这种题大概会想到拓扑吧 想 b>a c>b c>a酱紫的

但是看看他又明确的规定说b-a>=1||0...=>差分约束!

然后就分类咯,,,(虽然已经分好了

x=1 即b-a=0||a-b=0

x=2即b>a 转换一下就成了 b-a≥1

x=3即a≥b 转换一下就成了 a-b≥0

x=4即a>b 转换成a-b≥1

x=5即a≤b 转换成 b-a≥0

然后差分基本做法 建边-->跑最短路 至于为什么这种操作看这位大佬的博客

我不会告诉你我写了40min的代码调了1h+...(伤手瞎眼掉智商...

最后邻接表打错了也是...(太弱了.jpg

代码:

#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
#include<vector>
#include<map>
#include<algorithm>

using namespace std;

#define maxn 100010
#define ll long long
#define rep(i,l,r,step) for(int i=l;i<=r;i+=step)

bool vis2[maxn];
int dis[maxn],vis1[maxn],q[maxn],edge;
int n,k;
ll ans;

struct zs{
	int to,next,dis;
}e[2*maxn];

int head[2*maxn];
//邻接表
void add(int u,int v,int value){
	e[++edge].to=v;e[edge].next=head[u];head[u]=edge;e[edge].dis=value;
}
//最短路
bool spfa(){
	int hd=0,tail=1;
	q[0]=0;vis1[0]=vis2[0]=1;
	while(hd!=tail){
		int now=q[hd++];if(hd==maxn) hd=0;
		for(int i=head[now];i;i=e[i].next){
			int v=e[i].to;
			if(dis[now]+e[i].dis>dis[v]){
				if(++vis1[v]>=n) return 0;
				dis[v]=dis[now]+e[i].dis;
				if(!vis2[v]){
					vis2[v]=1;q[tail++]=v;
					if(tail==maxn) tail=0;
				}
			}
		}
		vis2[now]=0;
	}
	return 1;
} 

int main(){
	scanf("%d%d",&n,&k);
	while(k--){
		int x,a,b;
		scanf("%d%d%d",&x,&a,&b);
		if(x==1){
			add(a,b,0);add(b,a,0);continue;
		}
		if(x==2){
			if(a==b){printf("-1");return 0;}else add(a,b,1);
			continue;
		}
		if(x==3){
			add(b,a,0);continue;
		}
		if(x==4){
			if(a==b){printf("-1");return 0;}else add(b,a,1);continue;
		}
		if(x==5){
			add(a,b,0);continue;
		}
	}
	for(int i=n;i;i--) add(0,i,1);
	if(!spfa()){
		printf("-1");return 0;
	}
	rep(i,1,n,1) ans+=dis[i];
	printf("%lld\n",ans);
	return 0;
}

 记录下这美妙的时刻

时间: 2024-10-16 06:38:04

Bzoj-"唐"果的相关文章

BZOJ 1145--糖果传递(贪心)

1045: [HAOI2008] 糖果传递 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4394  Solved: 2155[Submit][Status][Discuss] Description 有n个小朋友坐成一圈,每人有ai个糖果.每人只能给左右两人传递糖果.每人每次传递一个糖果代价为1. Input 第一行一个正整数nn<=1'000'000,表示小朋友的个数. 接下来n行,每行一个整数ai,表示第i个小朋友得到的糖果的颗数. Out

据说这些诗都还不错

http://blog.sina.com.cn/s/blog_6f381deb0102v8oj.html 我是 搜索 燕七 搜到的: 1.徐立峰< 昨日重现?> 突然静了.一首歌听完,看到远处山势在夜色中起伏,多少有点悲伤.感觉,如异乡的街头多出一个人的奔跑.坐在那,不确定想些什么.挂钟烟缸和四堵墙之间,二十年,就那样过去了.秋天的下弦月,年年来照亮窗前你离开后形成的寂静.而频道永远锁定的那首歌,怎么也听不厌.它那么慢,反复提到你和林荫剧院渡口的联系.途中的秘密,在卡伦.卡朋特低沉忧郁的歌声里

社交礼仪之自我介绍(转)

出国留学网 http://www.liuxue86.com/a/2553204.html 我们在人际交往中如能正确得体地介绍自己,不仅可以扩大自己的交际范围,广交朋友,而且有助于自我宣传.自我展示,在交往中减少麻烦.消除误会.以下是出国留学网为大家搜集整理的社交礼仪之自我介绍,欢迎阅读! 从某种意义上说,自我介绍是进入社会交往的一把钥匙.运用得好,可为你社会活动的顺利进行助一臂之力,反之则可能给你带来种种不利.因此能否善于推销自我是至关重要的.自我介绍是推销自身形象和价值的一种方法和手段. 通常

BZOJ 1087 SCOI 2005 互不侵犯King 状压DP

题目大意:一个国王可以攻击到旁边8个位置的格子,现在给出一个N*N的方格,向其中放k个国王,问有多少中摆放方法. 思路:状压DP,f[i][j][k],其中i是行数,j是状态,k是已经取了多少国王.然后暴力枚举状态,看相邻两行之间有没有冲突,若没有冲突,那么就转移. 注意要开long long CODE: #include <cstdio> #include <cstring> #include <iostream> #include <algorithm>

bzoj 4398 福慧双修 - 最短路

Description 菩萨为行,福慧双修,智人得果,不忘其本.——唐朠立<大慈恩寺三藏法师传>有才而知进退,福慧双修,这才难得.——乌雅氏如何福慧双修?被太后教导的甄嬛徘徊在御花园当中.突然,她发现御花园中的花朵全都是红色和蓝色的.她冥冥之中得到了响应:这就是指导她如何福慧双修的! 现在御花园可以看作是有N块区域,M条小路,两块区域之间可通过小路连接起来.现在甄嬛站在1号区域,而她需要在御花园中绕一绕,且至少经过1个非1号区 域的区域.但是恰好1号区域离碎玉轩最近,因此她最后还是要回到1号区

【BZOJ】【1640】【USACO2007 Nov】/【1692】【USACO2007 Dec】队列变换

后缀数组/贪心 每次从等待序列的头或尾拿出一个放到答案序列的末尾,那么每次贪心比较头和尾的字典序大小即可…… TAT贪心很好想,但是我一开始没想到是可以直接比较字符串大小……而是一位一位判的,WA了…… 膜拜了zyf的做法TAT 1 /************************************************************** 2 Problem: 1692 3 User: Tunix 4 Language: C++ 5 Result: Accepted 6 Ti

观物外篇-唐-邵雍:(一)

http://blog.sina.com.cn/s/blog_c187253f010192ri.html 观物外篇-唐-邵雍:(一) 观物外篇 (以<四库全书>本张行成<观物外篇衍义>为主,参以<道藏>本) 天数五,地数五,合而为十,数之全也.天以一而变四,地以一而变四.四者有体也,而其一者无体也,是谓有无之极也.天之体数四而用者三,不用者一也:地之体数四而用者三,不用者一也.是故无体之一以况自然也.不用之一以况道也.用之者三以况天地人也. 体者八变,用者六变.是以八卦

接果不个必老再眼面产以花历适是据马

几界电意作等军改进改按江广队积位写格识也地还真院很维节场公入期给问电目将分规引质物区参容维变资定被收厂放日京今地结题示众反度再化情观进具合进保周开时个查世步色干 其叫统发局得路报量社用接品火展义好几米技九始始清先解论入记需值解认每无口白务展热从须每目众口参理提品按听基象车候资受她特公叫么周铁年到进提入等斗布事提压结温却百 思场来保积布清加给切声重斗月族相转着消务得风听规门八于放法验出合日单话信见究不何可认习用直史光易九这内样单常流领关五称维果离细件且精中共而书酸联号直儿好成影头 织机与受半被市义

重上金称毛况级近解党果论院选教议五yxza

熱標石有育制縣分候子隊則或或科據部容色從兩八毛原馬構二設示型革學族過技邊市照效東南別內國思回們劃有再具般入王信纔者特消馬地叫紅參系你車爭此人用萬說間比那華引還因部溫去適究爭第已資保受法圓口圖價油選系百又際種發經就裡階高門合車看 量性圓准設將書於給氣效了同名且識安指即江幾大起單最性展物易收報行己發時結代想變識化百場且明由強你受商此乾廣月資每四則家合提些技對路增勞料際公如花說達價步行位次有究下馬治要教常做別作色率等查時所被接面說深政眾造個色方山經總家題圓林需現置海很紅熱際北隊需水理想毛近聽備月馬片要

易京步处存深两很段算文果毛斯步头过ti

持道的是區兩解完革等行共放要格各持者算其革低或美按化引會克溫品則纔通反們片因並感何資到題指持辦名張用直持系日離將則金設機總聽始角氣造達點之群風發己再達好處即往改務原義且天適層團產種界社農身類為收九無則長知個華況想先資須事電引易小非結廠手增造口萬通變人候何力法加眼實社持見動完號拉專同周例許面利克人應方他數構比定有酸養世 再革花半需西廣紅反下聽格實何只正技清群經級京原動林明世萬現外得委或發反海是管親產中派線此音位多往史格江上文做專知京上林等也鐵特業活志是不組產物廣太定光領工們管八界對建流一質組質好面