begin

题解 P6142 【[USACO20FEB]Delegation P】

让人想犯罪 __ 提交于 2020-03-25 07:53:27
这题思路大佬们都讲了,我来讲哈我的做法 不知道为啥,大佬们都用的双指针...虽然感觉上对的,而且我hack不掉, 但是我总感觉有某种神奇的数据会让他出问题 .于是,我选择用set 双指针比较头尾貌似挺有道理,但是我总感觉如果他的子树能配对,传上去的数一定是最大的.而双指针不能保证传上去的是最大的数.比如1 3 5 6 10.假设要选的数是7,双指针会选1 10, 3 6, 然后返回一个5.然而我们可以划分为1 6和3 5,返回10(如果有理解错,欢迎指正) 而set的方法就好写多了.每次配对子树的时候,我们只选最小能使子树配对满足要求的数.这个操作可以用lower_bound做.如果用vector可以用二分实现(但码量就大不少了). 更新答案有几种情况(必须在出发点才更新答案): 1.如果出发点的子树全部能配对,那么这个数是可以选的 2.如果出发点含有的未配对子树,并且子树的权值 \(>=\) 我们要选的数,那么这个数是可以选的 这些都有一个共同的前提:他的子树能够成功配对. 如果有任何一个子树不能配对,那么这个数绝对不能选 #include <iostream> #include <algorithm> #include <vector> #include <set> using namespace std; const int MAXN = 1e5+5; int n,st;

动态调整 TBitBtn 上的图片 - 回复 \"游戏而已\" 的问题

删除回忆录丶 提交于 2020-03-25 07:25:35
问题来源: http://www.cnblogs.com/del/archive/2011/02/11/1951641.html#2025348 测试图片: 测试代码: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type TForm1 = class(TForm) BitBtn1: TBitBtn; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure BitBtn1MouseLeave(Sender: TObject); procedure BitBtn1MouseEnter(Sender: TObject); procedure BitBtn1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure BitBtn1MouseUp(Sender: TObject; Button: TMouseButton;

合并区间问题

痴心易碎 提交于 2020-03-24 19:51:06
问题描述 为了提高文章质量,每一篇文章(假设全部都是英文)都会有m民编辑进行审核,每个编辑独立工作,会把觉得有问题的句子通过下表记录下来,比如[1,10],1表示病句的第一个字符,10表示病句的最后一个字符。也就是从1到10着10个字符组成的句子,是有问题的。 现在需要把多名编辑有问题的句子合并起来,送个总编辑进行最终的审核。比如编辑A指出的病句是[1,10],[32,45];编辑B指出的病句是[5,16],[78,94]那么[1,10]和[5,16]是有交叉的,可以合并成[1,16][32,45][78,94] 输入描述: 编辑数量m,之后每行是每个编辑的标记的下表组合,第一个和最后一个下标用英文逗号分隔,每组下标之间用分号分隔 输出描述: 合并后的下标集合,第一个和最后一个下标用英文逗号分隔,每组下标之间用分号分隔。返回结果是从小到大递增排列 例:输入 3 1,10;32,45 78,94;5,16 80,100;200,220;16,32 输出: 1,45;78,100;200,220 方式一:    暴力解法,用了三层嵌套的循环。   第一层循环三行数据,   第二层循环每行数据的每个begin和end;(前两步可以先把二维的数据改成一个list或者map,就可以减少一层循环),   第三层循环已经排好顺序的结果集。把每个新的begin和end与结果集对比,合并到合适的位置

STL algorithm算法min,min_element(35)

╄→гoц情女王★ 提交于 2020-03-24 06:46:17
min样板: std:: min C++98 C++11 C++14 default (1) template <class T> const T& min (const T& a, const T& b); custom (2) template <class T, class Compare> const T& min (const T& a, const T& b, Compare comp); initializer list (3) template <class T> T min (initializer_list<T> il); template <class T, class Compare> T min (initializer_list<T> il, Compare comp); 对于(1),返回两个元素中最小的那个,假设两者同样。则返回a. 使用operator<或者comp进行比較。 对于(3),返回最小的那个元素,假设有多个最小元素,则返回第一个。 其行为类似于: 2 3 template <class T> const T& min (const T& a, const T& b) { return !(b<a)?a:b; // or: return !comp(b,a)?a:b; for version (2) } 一个简单的样例: #include

用latex和beamer做幻灯片

时光怂恿深爱的人放手 提交于 2020-03-22 05:55:07
做幻灯片是一件头疼的事。而用latex做幻灯片是一件很头疼、很头疼、cdots、很头疼的事……总结和收集了一些经验如下: beamer教程 有很多教程。对于初学者,最好先copy别人(比如师兄师姐的)模板用,或者直接看beamer的例子,C:CTeXtexmfdoclatexbeamerexamples。入门后,我觉得最好的提高教程是Ki-Joo Kim的 Beamer v3.0 Guide ,本身就是一个幻灯片,写的很清楚,看得也很爽。最后是beamer的用户手册,参考用。 中文幻灯片 一定要定义documentclass[cjk]{beamer},别忘了“cjk”,否则编译不通过 pdf书签中文乱码 这是做中文幻灯片时必然遇到的问题…… 在Adobe Reader中,显示在一旁的书签(Bookmark)是Unicode的。这样一来,如果单纯是使用pdflatex生成pdf将会显示乱码。所以,若要生成中文的Bookmark就需要执行如下命令: pdflatex slide.tex pdflatex slide.tex gbk2uni slide.out pdflatex slide.tex 注:gbk2uni是cct的一个小工具。 改变文字颜色 textcolor{blue!80!white}可以调色,这是xcolor包的一个功能。

C++STL容器之vector

时光怂恿深爱的人放手 提交于 2020-03-20 16:45:53
C++STL容器之vector 一般复试机试默认是C++,不能带模板,所以会用STL是非常重要的,接下来就讲讲STL容器vector的基本用法 vector的定义 使用vector的标准模板,就需要在添加vector的头文件,#include 。定义如下typename是指定义的向量元素类型,name是定义向量的名字。 vector<typename> name vector的初始化 vector<int> a(10); // 定义有10个整形的向量a vector<int> a(10,1)//定义有10个整形的向量a,并且每个元素值都为1 b[] = {1, 2, 3 ,4}; vector<int>a(b, b+4); vector元素访问 可以像数组一样通过元素下标进行访问,下标从0-size()-1 vector<int>a(5,1); for(int i = 0; i < a.size(); i++) printf("%d ", a[i]); 可以通过迭代器访问,迭代器类似于指针 vector<int>a(5,1); vector<int>:: iterator it; for(int it = a.begin(); it != a.end(); it++) printf("%d ", *it); vector元素操作 vector<int> a, b; a.empty(

easyui 隔行渐变色属性设置

孤人 提交于 2020-03-17 05:10:45
1.部分JS文件 function getAgencyDealTable(begin,end,regionFlag,agencyId){ $('#reportList').datagrid({ idField : 'id', // 只要创建数据表格 就必须要加 ifField title : '', fit : true, url : parent.baseUrl+"report/findAucAgencyDealCount", method : 'GET', queryParams: {beginTime:begin,endTime:end,regionFlag:regionFlag,agencyId:agencyId}, fitColumns : false, striped : false, // 隔行变色特性 不渐变色 loadMsg : '数据正在加载,请耐心的等待...', rownumbers : true, rowStyler : function(index, record) { // console.log(record); }, columns : [ [ { field : 'aucagencyName', title : '拍品分类', width : 290, align : 'center' }, { field : 'aucLotCount',

delphi 弹出输入框的InputQuery, InputQuery 函数用法

亡梦爱人 提交于 2020-03-16 18:33:27
delphi 弹出输入框的InputQuery, InputQuery 函数用法 procedure TForm1.Button1Click(Sender: TObject); var str: string; begin str := InputBox('输入窗口标题', '输入提示', '默认输入内容'); ShowMessage(str); //显示输入的内容 end; InputBox 是调用了 InputQuery, InputQuery 是通过一个 var 参数获取新字串: procedure TForm1.Button2Click(Sender: TObject); var str: string; begin InputQuery('输入窗口标题', '输入提示', str); ShowMessage(str); //显示输入的内容 end; InputQuery 可返回一个 Boolean 值, 可判断用户是确认还是取消, 挺有用的: procedure TForm1.Button3Click(Sender: TObject); var str: string; begin str := '默认输入内容'; if InputQuery('输入窗口标题', '输入提示', str) then ShowMessage(str); //如果点击了 ok

STL中的map容器的一点总结

守給你的承諾、 提交于 2020-03-16 08:50:48
一、关于map的介绍 map是 STL 的一个容器,和set一样,map也是一种关联式容器。它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,有助于我们处理一对一数据。这里说下map内部数据的组织,map内部是自建一颗红黑树 ( 一种非严格意义上的平衡二叉树 ) ,这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的。学习map我们一定要理解什么是 一对一的数据映射?比如:一个班级中,每个学生的学号跟他的姓名就存在着一一映射的关系,这个模型用map可能轻易描述,很明显学号用int 描述,姓名用字符串描述采用 的 string,于是我们使用的map形式如下:map<int , string> student; 关于map和set底层实现以及效率问题,在另一篇 《STL中set容器的一点总结》 已经说了一些,map和set底层实现都是采用了平衡树来实现的。这里说一下map和set容器的区别。 对于map中的每个节点存储的是一对信息,包括一个键和一个值,各个节点之间的键值不能重复。 对于set中的每个节点存储的是一个信息,只有一个键,但是每个键值也是唯一的。set表示的是集合的概念。 对于map的学习,或者说是对STL中的容器的学习,要知道每种容器的实现原理,每种适合适合解决什么问题的

周报 Latex 模板

时间秒杀一切 提交于 2020-03-13 11:23:40
在单位,每周末都要写周报给老大。于是自己写了一个简易的周报模板,供大家和我自己参考吧。中间的注释部分是为了添加能够显示并排的图片。 另外,向大家推荐Tex编写工具TeXstudio 我觉着相较于TexMaker,前者的最大好处就是多了一个New from Template的选项。这个功能非常实用。 \documentclass[]{article} \usepackage{datetime} \usepackage{advdate} \usepackage{graphicx} \usepackage[top=1in, bottom=1in, left=1.25in, right = 1.25in]{geometry} %\begin{figure}[htbp] %\centering %\begin{minipage}[t]{0.3\textwidth} %\centering %\includegraphics{left} %\caption{part one} %\end{minipage} %\begin{minipage}[t]{0.3\textwidth} %\centering %\includegraphics{right} %\caption{part two} %\end{minipage} %\end{figure} \begin{document}