• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
泳裤王子
不要挂科..
博客园 首页 新随笔 联系 订阅 订阅 管理
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页

2011年10月30日

[2-sat][topsort输出解] POJ 3648 Wedding
摘要: 2-sat 基本是有三类题型,一种只判定解是否存在,一种判定+二分答案求最佳,一种判定解并输出其中一组解。Wedding 这题是典型的第三种类型。ps. 最近太忙了,这题是前天A的,暂时先要把 2-sat 放一放。然后到时候再回来整理下,形成要用到的模板带出去就行了,如果考到就是看临场建图了。于是这题先记录下来。另外最后输出还是有点疑问的,mark一下,输出的新娘一边,是删除的scc点,还是选择的scc点,即 select[],是一定的吗?跟拓扑的第一个顺序有关?AC代码://POJ-3648 Wedding 2-sat+topsort输出 //n对夫妻。 //i:妻子,i+n:丈夫, //. 阅读全文
posted @ 2011-10-30 02:08 泳裤王子 阅读(174) 评论(0) 推荐(0)
 
 

2011年10月28日

[图论] 2-sat 入门
摘要: ps.写topsort输出解的时候各种混乱。还是没理解透。写点东西理清思路先。_10_282-sat 就是n个元素,可取0或1(2的含义),然后加上一些附加条件。问题的解为n个元素的取值。感觉就是离散数学里面的数理逻辑什么的,一堆0、1。问题的做法是通过建图来解。一般将n个元素拆点为2*n个点,表示取0或取1。然后,根据条件连边,边u->v表示,u发生,v一定发生。(这不就是数理逻辑里的那什么条件运算吗....)所以,若至少存在一组解,则元素 i 取0的点和 i 取1的点不能在一个强连通分支(SCC)里。所以这里就要用到tarjin。(还有另外一个神马的算法忘了...)可以证明不存在上述 阅读全文
posted @ 2011-10-28 17:08 泳裤王子 阅读(126) 评论(0) 推荐(0)
 
[2-sat][裸题] HDU3062 Party
摘要: 这题只判断可行性,不用输出解,应该是2-sat入门题里最水的一道....代码://n个元素。i=0~n-1. //i表示0、i+n表示1、i+2n表示0'、i+3n表示1'。 //1wa。这题竟然有多组数据。... #include<cstdio> #include<cstring> #include<iostream> using namespace std; #define MAXN 4002 //4倍的点 //#define MAXM 8000002 //n*n/2 #define MAXM 30000100 //??? struct 阅读全文
posted @ 2011-10-28 11:56 泳裤王子 阅读(186) 评论(0) 推荐(0)
 
有向图的强连通分量 SCC tarjin算法
摘要: 这个本来是暑假的时候学图连通性的时候一起学的。没整理出来,又有些遗忘。现在在 2-sat 里用到它来缩点。先写个简略版的。算法:dfn[]、low[]初始为++num(排除0),tarjin到u入栈s,ins[u] = 1;遍历u的所有邻点v(邻接表),对没有tarjin的点(dfn[v]=0),tarjin(v),low[u] = min(low[u], low[v])。对tarjin过,并还在栈中的点,low[u] = min(low[u], dfn[v])。遍历完后,如果dfn[u] == low[u],栈顶v出栈,直到u==v。同一时间出栈的即为一个强连通分量。代码:// 求 有向图 阅读全文
posted @ 2011-10-28 10:25 泳裤王子 阅读(477) 评论(0) 推荐(0)
 
 

2011年10月7日

The 36th ACM/ICPC Asia Regional Fuzhou Site / 1010 War
摘要: 题目链接我一开始的想法就是递推,维护一个cover值,表示能用第二阶段等待的时间来帮下一组数据cover掉多少时间。但是我竟然没有考虑到可以不用等待下一组的第二段时间(即 t 时间)完成而马上进行第三组的 d 时间。这里wa了。改后艰难AC....残了....代码:#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define MAXN 100005 struct node{ int d, t; }a[MA 阅读全文
posted @ 2011-10-07 21:10 泳裤王子 阅读(166) 评论(0) 推荐(0)
 
The 36th ACM/ICPC Asia Regional Fuzhou Site / 1001 A Card Game 简证
摘要: 题目链接这题题意描述得相当烦有木有!?其实就是M种牌放到M堆里,M种牌和M堆都是从1~M编号的。输入 M, 然后输入M个数,表示M种牌分别有多少张,同时也表示M堆分别的最大容量是多少。游戏是这样玩的,从第一堆开始由顶向下取(简单起见),取到的牌属于第k种,就接着到第k堆取。当任何一次取不到牌时,游戏结束。求游戏结束时牌恰好被取完的概率。分析:假设取的牌顺序是一个序列,那么这种序列在末尾为1时是和取牌序列一一对应的,且是符合“游戏结束时牌恰好被取完”的一种情况。简证:1、在序列中,任一数 i 的后一个数 j 是必然要放在第 i 堆里的。而值为 i 的数有 a[i]个,所以在 i 后面的数也恰好a 阅读全文
posted @ 2011-10-07 21:03 泳裤王子 阅读(174) 评论(0) 推荐(0)
 
记2011年网络赛结束
摘要: 今天福州的网赛,水题还是同样水,不同的是我们a不动了。1010,最先有人a了,然后去看。开始的时候样例都看不懂,然后貌似看懂了。敲,后来发现策略竟然有漏洞...,一个多小时后才看出来,代码又搓,比赛完看到别人代码突然发现自己智商貌似有点问题。1008,我a了1010,听队友给我讲题,他觉得是二分图,当存在完全匹配的时候是必输的,然后误以为反之就是赢的。我觉得貌似对,就这样去敲(=.=),敲啊敲敲完了,然后TLE了.....哇塞这都能TLE,弄了个代码交上去看是不是那里死循环了,果然.....直到我问他,要是对方有一张牌克你所有牌呢......石化。弄了一下,发现不完全匹配的时候搞不定。别人竟然 阅读全文
posted @ 2011-10-07 20:12 泳裤王子 阅读(132) 评论(0) 推荐(0)
 
 

2011年10月6日

[图论][网络流] 关于最大权闭合图
摘要: 预备概念:网络的割 如果去掉某弧集s中的所有弧以后源点s和汇点t不再连通,则把弧集s称为网络的s-t割。割的容量为其中所有弧的容量之和。去掉割以后s所在的连通分量叫做S集,t所在的连通分量叫做T集。最小割 显然所有弧的集合就是一个割,它是容量最大的割。我们自然希望得到最小的割,即最小割。最小割最大流定理 s-t最大流的流值等于s-t最小切割容量。闭合图一个有向图的子点集,使其中的点的出边都指回集合中的点,则称此为闭合图。最大权闭合图 给每个点赋上点权,则权和最大的闭合图,为最大权闭合图。闭合图的性质恰好反映了事件之间的必要条件的关系:一个事件发生,它需要的所有前提都要发生。下面通过构图,我们将 阅读全文
posted @ 2011-10-06 18:44 泳裤王子 阅读(192) 评论(0) 推荐(0)
 
 

2011年9月19日

CSDN 越来越垃圾了,越改版用户体验越差。还tm只让用3个这么丑的模板,css都不开。靠~
摘要: 弄分类弄恶心了,吐槽飘过~。 阅读全文
posted @ 2011-09-19 22:43 泳裤王子 阅读(234) 评论(0) 推荐(0)
 
POJ 3468 A Simple Problem with Integers
摘要: 分析:这题wa了好多次(看了下discuss好多人也是这样,好题~)。一处是sum值会超int32,要用int64。还有一处是toadd要累加,我不知道是受上一题影响还是怎的..pushdown的时候直接替换了...还有,据说北大oj要用%lld读..类型:成段更新。容易错. 线段树(貌似这题也能用树状数组做?......)代码://3wa #include<cstdio> #include<cstring> #include<iostream> using namespace std; #define MAXN 100002 #define int64 l 阅读全文
posted @ 2011-09-19 22:37 泳裤王子 阅读(106) 评论(0) 推荐(0)
 
 
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 18 下一页

公告


博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3