sum

网络流模板

耗尽温柔 提交于 2020-01-30 12:18:48
转自 https://www.cnblogs.com/rmy020718/p/9546071.html int deep[N+1]; int q[N+1]= {0},h,t; int cur[N+1]; bool bfs(int S,int T) { for (int i=0; i<=n; i++) deep[i]=0; //初始化深度为0 h=t=1; q[1]=S; deep[S]=1; while (h<=t) { for (int i=lin[q[h]]; i; i=e[i].next) if (!deep[e[i].y]&&e[i].v) //若未计算过深度且这条边不能是空的 { q[++t]=e[i].y; //入队一个节点 deep[q[t]]=deep[q[h]]+1; //计算深度 } ++h; } if (deep[T]) return true; else return false; } int dfs(int start,int T,int minf) { if (start==T) return minf; //若到了汇点直接返回前面流过来的流量 int sum=0,flow=0; for (int &i=cur[start]; i; i=e[i].next) //当前弧优化,运用指针在修改i的同时,将cur[start]顺便修改 if (e[i].v&

PHP sum array values with same keys

老子叫甜甜 提交于 2020-01-30 10:57:47
问题 This is the original main array: Array ( [0] => Array ( [subtotal] => 0.6000 [taxes] => 0.0720 [charged_amount] => 0.6720 [total_discount] => 0.0000 [provinceName] => BC [store_key] => 1 [store_id] => 5834 [categories] => Array ( [2] => 0.6000 [4] => 0 [3] => 0 ) ) [1] => Array ( [subtotal] => 29.8500 [taxes] => 2.3270 [charged_amount] => 20.2370 [total_discount] => 11.9400 [provinceName] => MB [store_key] => 9 [store_id] => 1022 [categories] => Array ( [2] => 0 [4] => 29.8500 [3] => 0 ) ) [2

PHP sum array values with same keys

拥有回忆 提交于 2020-01-30 10:57:11
问题 This is the original main array: Array ( [0] => Array ( [subtotal] => 0.6000 [taxes] => 0.0720 [charged_amount] => 0.6720 [total_discount] => 0.0000 [provinceName] => BC [store_key] => 1 [store_id] => 5834 [categories] => Array ( [2] => 0.6000 [4] => 0 [3] => 0 ) ) [1] => Array ( [subtotal] => 29.8500 [taxes] => 2.3270 [charged_amount] => 20.2370 [total_discount] => 11.9400 [provinceName] => MB [store_key] => 9 [store_id] => 1022 [categories] => Array ( [2] => 0 [4] => 29.8500 [3] => 0 ) ) [2

js基础中的概要案例统计

本秂侑毒 提交于 2020-01-30 10:12:31
** 1.交换两个变量的值 var apple1 = '青苹果' ; var apple2 = '红苹果' ; var temp = '' ; temp = apple1 ; apple1 = apple2 ; apple2 = temp ; console . log ( apple1 , apple2 ) ; ** 2.数值的最大值,最小值 console . log ( Number . MAX_VALUE ) ; console . log ( Number . MIN_VALUE ) ; console . log ( Number . MAX_VALUE * 2 ) ; //无穷大 console . log ( - Number . MAX_VALUE * 2 ) ; //无穷小 ** 3.闰年平年的判断 //4年一闰,百年不闰,400年再闰,能被四整除且不能被100整除或能被400整除 let year = prompt ( '请输入年份' ) ; if ( year % 4 == 0 && year % 100 != 0 || year % 400 == 0 ) { alert ( '你输入的是闰年' ) } else { alert ( ' 你输入的是平年' ) } ** 3.判断语句的用法 //1.if的用法适用于范围的判断 let score =

Java编程的逻辑 (11) - 初识函数

情到浓时终转凉″ 提交于 2020-01-29 21:12:41
本系列文章经补充和完善,已修订整理成书《Java编程的逻辑》,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接 : http://item.jd.com/12299018.html 函数 前面几节我们介绍了数据的基本类型、基本操作和流程控制,使用这些已经可以写不少程序了。 但是如果需要经常做某一个操作,则类似的代码需要重复写很多遍,比如在一个数组中查找某个数,第一次查找一个数,第二次可能查找另一个数,每查一个数,类似的代码都需要重写一遍,很罗嗦。另外,有一些复杂的操作,可能分为很多个步骤,如果都放在一起,则代码难以理解和维护。 计算机程序使用 函数这个概念来解决这个问题,即 使用函数来减少重复代码和分解复杂操作,本节我们就来谈谈Java中的函数,包括函数的基础和一些细节。 定义函数 函数这个概念,我们学数学的时候都接触过,其基本格式是 y = f(x),表示的是x到y的对应关系,给定输入x,经过函数变换 f,输出y。程序中的函数概念与其类似,也有输入、操作、和输出组成,但它表示的一段子程序,这个子程序有一个名字,表示它的目的(类比f),有零个或多个参数(类比x),有可能返回一个结果(类比y)。我们来看两个简单的例子: public static int sum(int a, int b){ int sum = a +

[HNOI2005]狡猾的商人

北城余情 提交于 2020-01-29 16:51:28
题目描述 输入输出格式 输入格式 从文件input.txt中读入数据,文件第一行为一个正整数w,其中w < 100,表示有w组数据,即w个账本,需要你判断。每组数据的第一行为两个正整数n和m,其中n < 100,m < 1000,分别表示对应的账本记录了多少个月的收入情况以及偷看了多少次账本。接下来的m行表示刁姹偷看m次账本后记住的m条信息,每条信息占一行,有三个整数s,t和v,表示从第s个月到第t个月(包含第t个月)的总收入为v,这里假设s总是小于等于t。 输出格式: 输出文件output.txt中包含w行,每行是true或false,其中第i行为true当且仅当第i组数据,即第i个账本不是假的;第i行为false当且仅当第i组数据,即第i个账本是假的。 输入输出样例 输入样例#1: 2 3 3 1 2 10 1 3 -5 3 3 -15 5 3 1 5 100 3 5 50 1 2 51 输出样例#1: true false 题解: 1.差分约束,直接x-y连v的边,并且y-x连-v的边,然后spfa找负环 2.带权并查集,每一次合并find(y)和x并修改路径上的dis值,顺便路径压缩.然后如果在同一集合中直接判断矛盾即可 1 #include <algorithm> 2 #include <iostream> 3 #include <cstdlib> 4 #include

P2294 [HNOI2005]狡猾的商人

℡╲_俬逩灬. 提交于 2020-01-29 16:50:39
题目描述 输入输出格式 输入格式: 从文件input.txt中读入数据,文件第一行为一个正整数w,其中w < 100,表示有w组数据,即w个账本,需要你判断。每组数据的第一行为两个正整数n和m,其中n < 100,m < 1000,分别表示对应的账本记录了多少个月的收入情况以及偷看了多少次账本。接下来的m行表示刁姹偷看m次账本后记住的m条信息,每条信息占一行,有三个整数s,t和v,表示从第s个月到第t个月(包含第t个月)的总收入为v,这里假设s总是小于等于t。 输出格式: 输出文件output.txt中包含w行,每行是true或false,其中第i行为true当且仅当第i组数据,即第i个账本不是假的;第i行为false当且仅当第i组数据,即第i个账本是假的。 输入输出样例 输入样例#1: 2 3 3 1 2 10 1 3 -5 3 3 -15 5 3 1 5 100 3 5 50 1 2 51 输出样例#1: true false Solution:   本题是思维比较巧妙的差分约束。。。   思路类似于植树那道题,$u\rightarrow v=c$可以理解为$sum[v]-sum[u-1]=c$(前缀和)。   那么对于每个条件我们可以先得出约束条件:$w[u-1,v]=c$表示$sum[v]$比$sum[u-1]$大$c$。   我们直接在这样的图上跑最长路后能求出每个点的

Summing rows in Python Dataframe

你说的曾经没有我的故事 提交于 2020-01-29 09:55:44
问题 I just started learning Python so forgive me if this question has already been answered somewhere else. I want to create a new column called "Sum", which will simply be the previous columns added up. Risk_Parity.tail() VCIT VCLT PCY RWR IJR XLU EWL Date 2017-01-31 21.704155 11.733716 9.588649 8.278629 5.061788 7.010918 7.951747 2017-02-28 19.839319 10.748690 9.582891 7.548530 5.066478 7.453951 7.950232 2017-03-31 19.986782 10.754507 9.593623 7.370828 5.024079 7.402774 7.654366 2017-04-30 18

[leetcode]两数相加

微笑、不失礼 提交于 2020-01-29 05:09:15
空闲时间用Go刷了一道水题, 题目和题解如下: 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/add-two-numbers 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 /** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */ func addTwoNumbers ( l1 * ListNode , l2 * ListNode ) * ListNode { // 进位(满十进一) carry := 0 // 当次运算的和 sum := 0 // 结果链表中的表头节点 var head * ListNode // 结果链表中的上一次使用的节点 var last *

MapReduce计算框架

若如初见. 提交于 2020-01-28 15:43:04
原理流程分析 Map端: 文件存储在HDFS中,每个文件切分成多个一定大小(默认128M)的Block(默认3个备份)存储在多个数据节点上,数据格定义以"\n"分割每条记录,以空格区分一个目标单词。 每读取一条记录,调用一次map函数,然后继续读取下一条记录直到split尾部。 map 输出的结果暂放在一个环形内存缓冲区,每个map的结果和partition处理的key value结果都会保存在缓存中(该缓冲区的大小默认为100M,由io.sort.mb属性控制) 当内存缓冲区达到阈值时,溢写splill线程锁住80M的缓冲区(默认为缓冲区大小 的80%,由io.sort.spill.percent属性控制),开始将数据写出到本地磁盘中,然后释放内存,会在本地文件系统中每次溢写都创建一个数据文件,将该缓冲区中的数据写入这个文件。在 写入磁盘之前,线程首先根据reduce任务的数目将数据划分为相同数目的分区,也就是一个reduce任务对应一个分区的数据。这样做是为了避免有些 reduce任务分配到大量数据,而有些reduce任务却分到很少数据,甚至没有分到数据的尴尬局面。其实分区就是对数据进行hash的过程。溢出的数据到磁盘前会对数据进行key排序sort,以及合并combiner,这样做目的让尽可能少的数据写入磁盘。 发送相同的Reduce的key数量,会拼接到一起,减少