flow

如何使用CSS创建巧妙的动画提示框

流过昼夜 提交于 2020-01-21 18:44:55
原文: https://webdesign.tutsplus.co... 原作: Jase Smith 翻译: Stypstive 当你的用户需要漂亮的图标给出额外的文字信息时,亦或是当他们在点击了按钮之后需要确认自己没点错时,又或是带图片和字幕的复活节彩蛋,提示框是用来增强用户界面的绝佳手段。现在,让我们来做几个动画提示框,没有别的,只有HTML和CSS。 样例 这是我们之后要做的: http://jsfiddle.net/kcschaefe... 在我们沉浸在写代码的过程中之前,让我们先来看看我们的意图是什么。主要目的是为了获得一种简单的添加提示框的方法,这样一来,我们之后就能够通过增加一个自定义的 tooltip 属性来做到这一点。 <span tooltip="message">visible text or icon, etc.</span> 关于可访问性和功能的记注 如果你在寻找兼容508的提示框,或者需要带容器冲突侦测和/或HTML内容 vs 纯文本的智能提示框,有许多实用第三方脚本的解决方案能满足你的要求。 "用JavaScript来做完全可访问的交互组件是命令式的" - Sara Soueidan, 打造一个完全可访问的帮助提示框...比你想的要难 这篇教程不会特地解决可访问性的需求。你了解你的用户,知道他们需要什么,所以有关这方面,也要记得考虑他们的需求。

The Github Flow

a 夏天 提交于 2020-01-20 22:11:02
推荐 https://zhuanlan.zhihu.com/p/39148914 https://github.com/rozbo/blog/issues/6 GUI就不推荐了。 what each symbol means? git flow,终于繁琐的命令无法成为git学习的挡路石 初始化: git flow init 开始新Feature: git flow feature start MYFEATURE Publish一个Feature(也就是push到远程): git flow feature publish MYFEATURE 获取Publish的Feature: git flow feature pull origin MYFEATURE 完成一个Feature: git flow feature finish MYFEATURE 开始一个Release: git flow release start RELEASE [BASE] Publish一个Release: git flow release publish RELEASE 发布Release: git flow release finish RELEASE 别忘了git push --tags 开始一个Hotfix: git flow hotfix start VERSION [BASENAME]

# Dinic重边处理模板

余生颓废 提交于 2020-01-19 14:06:45
Dinic重边处理模板 https://www.luogu.com.cn/problem/P2936 本题相比普通最大流题目只是多了一个重边的处理,意义不大,但还是想记录一下,反正也花不了多少时间。 这里的处理方式是使用二维数组预处理边集,将重边合并,再将该二维数组作为Dinic的输入,暂时没有想到更好的处理方式,望大佬指教。 #include <bits/stdc++.h> using namespace std; #define fre freopen("data.in","r",stdin); #define ms(a) memset((a),0,sizeof(a)) #define go(i,a,b) for(register int (i)=(a);(i)<(b);++(i)) #define rep(i,a,b) for(register int (i)=(a);(i)<=(b);++(i)) #define sf(x) scanf("%d",&(x)) #define reg register typedef long long LL; const int inf=(0x7f7f7f7f); const int maxn=1e2; const int maxm=1e3; int n; struct node{int to,flow,next;}e[maxm<<1];

bzoj2132: 圈地计划(最小割)

試著忘記壹切 提交于 2020-01-19 08:38:39
传送门 看来以后见到矩形就要黑白染色冷静一下了…… 首先,如果它的要求时候相邻的选择相同,那么就是和这一题一样了-> 这里 然后考虑不同的要怎么做 那就把矩形黑白染色一下吧 然后令其中一种颜色的A,B反过来,那么就和上面那道题一样了 1 //minamoto 2 #include<iostream> 3 #include<cstdio> 4 #include<cstring> 5 #include<queue> 6 #define inf 0x3f3f3f3f 7 #define id(i,j) ((i-1)*m+j) 8 using namespace std; 9 #define getc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++) 10 char buf[1<<21],*p1=buf,*p2=buf; 11 inline int read(){ 12 #define num ch-'0' 13 char ch;bool flag=0;int res; 14 while(!isdigit(ch=getc())) 15 (ch=='-')&&(flag=true); 16 for(res=num;isdigit(ch=getc());res=res*10+num); 17 (flag)&&

[洛谷P4147] NOI2006 最大获利

岁酱吖の 提交于 2020-01-18 08:58:00
问题描述 新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战。THU 集团旗下的 CS&T 通讯公司在新一代通讯技术血战的前夜,需要做太多的准备工作,仅就站址选择一项,就需要完成前期市场研究、站址勘测、最优化等项目。 在前期市场调查和站址勘测之后,公司得到了一共 N 个可以作为通讯信号中转站的地址,而由于这些地址的地理位置差异,在不同的地方建造通讯中转站需要投入的成本也是不一样的,所幸在前期调查之后这些都是已知数据:建立第 i个通讯中转站需要的成本为 \(P_i\) (1≤i≤N)。 另外公司调查得出了所有期望中的用户群,一共 M 个。关于第 i 个用户群的信息概括为 \(A_i\) , \(B_i\) 和 \(C_i\) :这些用户会使用中转站 A i 和中转站 B i 进行通讯,公司可以获益 \(C_i\) 。(1≤i≤M, 1≤ \(A_i\) , \(B_i\) ≤N) THU 集团的 CS&T 公司可以有选择的建立一些中转站(投入成本),为一些用户提供服务并获得收益(获益之和)。那么如何选择最终建立的中转站才能让公司的净获利最大呢?(净获利 = 获益之和 – 投入成本之和) 输入格式 输入文件中第一行有两个正整数 N 和 M 。 第二行中有 N 个整数描述每一个通讯中转站的建立成本,依次为 \(P_1 , P_2 , …,P_N\) 。 以下 M 行

# [洛谷3376] 网络最大流模板题

不羁的心 提交于 2020-01-17 22:25:58
[洛谷3376] 网络最大流模板题 洛谷3376 题意 网络最大流模板题,题意很直白。 给出源点,汇点,点个数,边条数,以及每条边的流量,求源点到汇点的最大流量。 思路 Dinic算法简介 最大流经典算法Dinic算法,理论复杂度 \(O(n^2m)\) ,但是实际运用中远远达不到这个上界,可以说是比较容易实现的效率最高的网络流算法之一,一般能处理 \(10^4 -10^5\) 规模的网络,特别的地,Dinic算法求解二分图最大匹配的理论时间复杂度为 \(O(m\sqrt{n})\) ,实际表现则更快。 实现步骤 在残量网络(剩余流量大于0的子图)上BFS求出节点的层次,构造分层图 在分层图上DFS寻找增广路,在回溯时实时更新剩余流量,每个点可以流向多条边。 优化技巧 当前弧优化 一个点可能有多条出边,在DFS寻找增广路的时候,如果遍历该点的出边时,发现有些边已经没有剩余流量时,记录下当前遍历的点,下次再碰到该点时,无需从头开始遍历,直接从记录的位置开始遍历(因为记录位置之前的出边都没有剩余流量了,没有遍历的必要,代码实现:边使用链式前向星存储,使用额外数组cur[]复制head[]的值,实现cur代替head进行遍历,并及时更新cur的值,也就是修改头结点的指向)。 多路增广优化 爆点优化 当DFS遍历时发现一个点没有了流出的流量,则把该点的deep值置为-2,将无用的点抛弃

【网络流】——搞搞dinic

╄→гoц情女王★ 提交于 2020-01-16 13:59:50
只是搞一搞而已。 https://www.luogu.org/problem/P3376网络流最大流板子。 程序 大 部分参考自 A_Comme_Amour 大大的题解。 Dinic: 1.从s跑一遍bfs来分层,如果能分到t层,请转至2。 2.跑dfs,求出当前的flow,加到答案中,欲知细节请到3。 3.dfs(u,t,lim)表示(当前点,汇点,路上最小弧),首先预判一下两种情况:(1.到汇点了,即u==t 2.最小弧为0,即lim==0,都可以直接return lim)   然后跑dfs:往哪个方向走?(往分层处,即新点深度是旧点+1,并且能走(f=dfs(v,t,min(lim,w)),即找增广路),这时候更新路径:原路-f,反向+f,flow+f,lim-f,判断一下lim如果小于等于0就不用再往下增广了。最后返回flow。 4.最后返回flow的和就好了。 5.可以选择弧优化,一点小细节,具体看程序: 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<queue> 5 using namespace std; 6 const int inf=1e9; 7 const int N=1e6+10; 8 int n,m,S,T,cnt=-1,maxflow,head[N],cur[N

网络流——最大流Dinic算法

天涯浪子 提交于 2020-01-16 13:30:15
前言 突然发现到了新的一年什么东西好像就都不会了 凉凉 算法步骤 建残量网络图 在残量网络图上跑增广路 重复1直到没有增广路(注意一个残量网络图要尽量把价值都用完,不然会浪费建图的时间) 代码实现 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> #include<algorithm> #include<queue> #include<set> #include<map> #include<iostream> using namespace std; #define ll long long #define re register #define file(a) freopen(a".in","r",stdin);freopen(a".out","w",stdout) inline int gi(){ int f=1,sum=0;char ch=getchar(); while(ch>'9' || ch<'0'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0' && ch<='9'){sum=(sum<<3)+(sum<<1)+ch-'0';ch=getchar();} return f*sum; } const int N=10010,M

网络流Dinic算法

可紊 提交于 2020-01-16 13:29:44
我的模板 例题: https://vjudge.net/problem/HDU-4280 struct Edge { int lst; int from; int to; int cap; int flow; Edge () { } Edge (int llst, int ffrom, int tto, int ccap, int fflow) : lst(llst), from(from), to(tto), cap(ccap), flow(fflow) { } }; // Dinic 算法有3个重点: // 一个是 层次图 // 一个是 阻塞流 // 一个是 cur优化 // 稠密点的可以再加上 炸点优化 class Dinic { public: Edge edge[maxn*2]; int head[maxn]; int cn, cm, cst, ced; int csz; bool vis[maxn]; int dist[maxn]; // 节点到起点层次距离 int cur[maxn]; void init(int n, int m) { cn = n; cm = m; memset(head, 0, sizeof(head)); csz = 2; // 注意 这儿应该是偶数开始 因为 奇数^1等价于减1 偶数^1等价于加一. // 因为我前向星是以0为结尾的

【bzoj 2132】圈地计划(最小割)

廉价感情. 提交于 2020-01-16 03:09:50
Time Limit: 2 Sec Memory Limit: 256 MB Submit: 923 Solved: 418 [Submit][Status][Discuss] Description 最近房地产商GDOI(Group of Dumbbells Or Idiots)从NOI(Nuts Old Idiots)手中得到了一块开发土地。据了解,这块土地是一块矩形的区域,可以纵横划分为N×M块小区域。GDOI要求将这些区域分为商业区和工业区来开发。根据不同的地形环境,每块小区域建造商业区和工业区能取得不同的经济价值。更具体点,对于第i行第j列的区域,建造商业区将得到Aij收益,建造工业区将得到Bij收益。另外不同的区域连在一起可以得到额外的收益,即如果区域(I,j)相邻(相邻是指两个格子有公共边)有K块(显然K不超过4)类型不同于(I,j)的区域,则这块区域能增加k×Cij收益。经过Tiger.S教授的勘察,收益矩阵A,B,C都已经知道了。你能帮GDOI求出一个收益最大的方案么? Input 输入第一行为两个整数,分别为正整数N和M,分别表示区域的行数和列数;第2到N+1列,每行M个整数,表示商业区收益矩阵A;第N+2到2N+1列,每行M个整数,表示工业区收益矩阵B;第2N+2到3N+1行,每行M个整数,表示相邻额外收益矩阵C。第一行,两个整数,分别是n和m(1≤n,m