begin

二分图最大匹配模板(pascal)

蹲街弑〆低调 提交于 2019-12-24 02:50:19
uoj#78. 二分图最大匹配 从前一个和谐的班级,有 n l nl 个是男生,有 n r nr 个是女生。编号分别为 1 , … , n l 1,…,nl 和 1 , … , n r 1,…,nr。 有若干个这样的条件:第 v v 个男生和第 u u 个女生愿意结为配偶。 请问这个班级里最多产生多少对配偶? 输入格式 第一行三个正整数, n l , n r , m nl,nr,m。 接下来 m m 行,每行两个整数 v , u v,u 表示第 v v 个男生和第 u u 个女生愿意结为配偶。保证 1 ≤ v ≤ n l 1≤v≤nl, 1 ≤ u ≤ n r 1≤u≤nr,保证同一个条件不会出现两次。 输出格式 第一行一个整数,表示最多产生多少对配偶。 接下来一行 n l nl 个整数,描述一组最优方案。第 v v 个整数表示 v v 号男生的配偶的编号。如果 v v 号男生没配偶请输出 0 0。 样例一 input 2 2 3 1 1 1 2 2 1 output 2 2 1 explanation 1 1 号男生跟 2 2 号女生幸福地生活在了一起~ 2 2 号男生跟 1 1 号女生幸福地生活在了一起~ 样例二 input 2 2 2 1 1 2 1 output 1 1 0 explanation 班上一个女神一个女汉子,两个男生都去追女神。一种最优方案是: 1 1

C++ STL Heap算法

别说谁变了你拦得住时间么 提交于 2019-12-23 13:47:06
#include <iostream> #include <algorithm> #include <vector> using namespace std; int main() {   vector<int> vec1;   vector<int>::iterator vec_iter1;   for (int k=0;k<10;k++)   {     vec1.push_back(rand());   }   for (vec_iter1 = vec1.begin();vec_iter1 != vec1.end();++vec_iter1)   {     cout << *vec_iter1 << " ";   }   cout << endl;   cout << "-------------------------------------------------------" << endl;   make_heap(vec1.begin(), vec1.end());   for (vec_iter1 = vec1.begin(); vec_iter1 != vec1.end(); ++vec_iter1)   {     cout << *vec_iter1 << " ";   }   cout << endl;   cout << "--------------

带标点的回文串判断

大城市里の小女人 提交于 2019-12-23 04:50:47
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases. For example, "A man, a plan, a canal: Panama"is a palindrome. "race a car"is not a palindrome. Note: Have you consider that the string might be empty? This is a good question to ask during an interview. For the purpose of this problem, we define empty string as valid palindrome. 主要是边界的判断,空串认为是回文串 非递归程序 class Solution { public: void toa(string &s) {   for(int i=0;i<s.size();i++)   {     if(s[i]>='A' &&s[i]<='Z')       s[i]=s[i]+32;   } } bool isalpha(char ch) {   if((ch>='a' && ch<='z')

一个简单的存储过程使用事务的例子

假装没事ソ 提交于 2019-12-22 19:05:38
在存储过程中使用事务时非常重要,使用数据库可以保持数据的关联完整性,在SQL Server存储过程中使用事务也很简单,举个例子: Create Procedure MyProcedure ( @Param1 nvarchar(10), @Param2 nvarchar(10) ) AS Begin Set NOCUNT ON; Set XACT_ABORT on; Begin Tran Delete from table1 where name='abc'; insert into table2 values(value1,value2,value3); Commit Tran End 说明:1、使用存储过程执行事务,需要开启XACT_ABORT参数(默认值Off),将该参数设置On,表示当执行事务时,如果出错,会将transcation设置为uncommittable状态,那么在语句块批处理结束后;如果该参数设置为Off,表示当执行事务时,如果出错,出错的语句将不会执行,其他正确的操作继续执行。 2、当Set Nocunt为ON时,不返回计数(计数表示受Transact-SQL语句影响的行数,例如在SQL Server查询分析器中执行一个Delete操作后,下方窗口提示(3) Rows Affeted)。当Set NOCOUNT 为OFF时,返回计数

Verilog笔记.3.有限状态机

你。 提交于 2019-12-22 09:23:48
有限状态机 有限状态机是由寄存器组和组合逻辑构成的硬件时序电路,其状态(即由寄存器组的1和0的组合状态 所构成的有限个状态)只可能在同一时钟跳变沿的情况下才能从一个状态转向另一个状态,究竟转向 哪一状态还是留在原状态不但取决于各个输入值,还取决于当前所在状态。(这里指的是米里Mealy型有限状态 机,而莫尔Moore型有限状态机究竟转向哪一状态只决于当前状态。) 例 采用独热码实现的有限状态机。采用了独热编码后有了多余的状态,就有一些不可到达的状态,为此在CASE语句的最后需要增加default分支项,以确保多余状态能回到Idle状态。 1 module fsm (Clock, Reset, A, F, G); 2 input Clock, Reset, A; 3 output F,G; 4 reg F,G; 5 reg [3:0] state ; 6 parameter Idle = 4’b1000, 7 Start = 4’b0100, 8 Stop = 4’b0010, 9 Clear = 4’b0001; 10 always @(posedge clock) 11 if (!Reset) 12 begin 13 state <= Idle; F<=0; G<=0; 14 end 15 else 16 case (state) 17 Idle: begin 18 if (A)

Latex的表格注释

删除回忆录丶 提交于 2019-12-22 07:24:06
调用threeparttable包 在文档的最前面加入以下命令: \usepackage{threeparttable} 在表格处插入命令 \begin{table*} \label{table:number} \centering \caption{....} \begin{threeparttable} \begin{tabular}{lc} \hline A & B \\ \hline A & B\tnote{*} \\ A\tnote{**} & B \\ % 添加表格信息 \hline \end{tabular} \begin{tablenotes} \footnotesize \item[*] this is the .... %此处加入注释*信息 \item[**] my website is ... %此处加入注释**信息 \end{tablenotes} \end{threeparttable} \end{table*} 注意:星号可以换成数字或是其他的字符。 完整例子测试 \documentclass[12pt]{amsart} \usepackage{geometry} % see geometry.pdf on how to lay out the page. There's lots. \geometry{a4paper} % or letter or

LaTeX技巧 twocolumn 双栏

余生长醉 提交于 2019-12-22 00:43:01
twocolumn状态下怎么实现onecolumn的footnote,即双栏中如何排版通栏脚注。 查了些资料都没找到解决的方法,是不是有什么方便的宏包?还是要怎么设置一下就OK了? 参看: http://bbs.chinatex.org/forum.php?mod=viewthread&tid=3586&page=1&extra=#pid9792 问题解决方案: 日本人 93 年写的宏包即:1-in-2.sty。 测试文件和宏包下载地址: http://cid-3cfe530319707374.office.live.com/self.aspx/ChinaTeX/1-in-2/1-in-2test.rar 测试代码如下: % sample is here : 1-in-2.tex % \documentclass[twocolumn]{article} % \usepackage{1-in-2} \textwidth=420pt \textheight=600pt \columnsep=20pt \newcommand{\bs}{{\tt\symbol{'134}}} \newcommand{\fat}[1]{\mbox{\boldmath{$#1$}}} % \title{{\sc One-Column Abstract and Footnote \\ in the Two

行列式

时光毁灭记忆、已成空白 提交于 2019-12-21 02:20:03
1. det($\mathbf{I}$) = 1 2. 交换行列式的行,行列式符号变换。 即,置换矩阵 det($\mathbf{P}$)=1 或 -1 并且,行列式的置换是区分奇偶的,奇数次变换只能通过奇数次变换等价,而不能通过偶数次变换得到。 3. a. 一个数乘以行列式的一行,结果等于乘以行列式的值。 $\begin{vmatrix} ta & tb \\ c & d \end{vmatrix}$= t $\begin{vmatrix}a & b \\ c & d\end{vmatrix}$ b.det(A+B) $\ne$ det(a) +det(B),但是,行列式的每一行是线性的,即 $\begin{vmatrix} a+a' & b+b' \\ c & d \end{vmatrix}$= $\begin{vmatrix}a & b \\ c & d\end{vmatrix}$ + $\begin{vmatrix}a' & b' \\ c & d\end{vmatrix}$ 4. 有两行相等的行列式为0 5. 含有行为0的行列式为0 6. 一行减去另一行的倍数,行列式不变。 $\begin{vmatrix}a & b \\ c-la & d-lb\end{vmatrix}$ = $\begin{vmatrix}a & b \\ c & d\end{vmatrix}$ +

MySQL事务

余生长醉 提交于 2019-12-21 02:02:49
https://www.codercto.com/a/86576.html 默认情况,MySQL执行的SQL是autocommit的,SALAlchemy 查询语句也是 autocommit的,就是说如果没有明确声明事务的begin,每个单独的SQL都是一个独立的事务。但是在做交易系统时,比如银行给用户A转账给用户B时,有两个操作,从A里面减100,然后给B加100。这两个操作必须放在一个事务里面才行,否是就会出现钱扣了,对方又没到账的情况。 通过connection.begin 方法可以获取事务对象,执行完sql后,要把事务commit提交,如果出现异常,则把事务rollback,保证数据的最终一致性。 手动开始事务的几种方式: connection = engine.connect(close_with_result=True) trans = connection.begin() try: r1 = connection.execute("update account set blance-=100 where id=1") r1 = connection.execute("update account set blance+=100 where id=2") trans.commit() except: trans.rollback() raise 当然

sqlserver中创建包含事务的存储过程

心不动则不痛 提交于 2019-12-19 01:58:36
什么是事务 事务时包含1条或多条语句的逻辑单元。事务中的语句是一个整体,要么一起提交,要么一起撤销。事务在提交前可以回滚,一旦提交就不能撤销修改了,是永久性的修改。 为什么使用事务 可以例举生活中的例子,比如银行转账:A向B转100万。程序的执行顺序:1.A账户减掉100万 2.B账户增加100万。若是都成功执行倒没什么,假设1成功执行,2执行失败,就会出问题。运用事务就不会出现这种问题,因为只要其中有一步操作失败,事务就会回滚,之前的所有操作将会被撤销。 事务的基本控制语句 1.BEGIN TRANSACTION:事务开始 2.COMMIT TRANSACTION:事务提交 3.ROLLBACK TRANSACTION:事务回滚 事务的特性(ACID) 1.ATOMIC(原子性):事务中程序是数据库的逻辑工作单元,对数据的修改要么全执行,要么全不执行。 2.CONSISTENT(一致性):事务执行前后数据一致,事务完成之后数据的修改才可见。 3.ISOLATED(隔离性):并发事务之间不能相互干扰 4.DURABLE(持久性):事务一旦提交就是对数据的永久修改。 下面是一个包含事务的存储过程的例子: 1 ALTER proc [dbo].[Proc_InsertStudent] 2 @stuName nvarchar(50),@stuClassId int,@stuAge int