tmp

Codeforces Global Round 6

↘锁芯ラ 提交于 2019-12-18 02:53:20
好演啊,完蛋了,只会ABC。 首先A就想复杂了一开始就应该往质因数分解那里想。 B看了图也想复杂了,观察一下很显然。 C看错题太演了,单行单列要小心一点。 D应该先看榜的,比赛不是乱做,应该看榜,前面一圈人秒杀D,D就不应该是复杂的图,又消环又干嘛的。 消环DAG确实可以,这波亏一半。 priority_queue<pii> G[200005]; void AddEdge(int u, int v, int w) { if(u == v || w == 0) return; if(!G[v].empty()) { pii tmp = G[v].top(); if(tmp.second == u) { G[v].pop(); if(w >= tmp.first) { w -= tmp.first; AddEdge(u, v, w); return; } else { tmp.first -= w; G[v].push(tmp); return; } } if(w >= tmp.first) { G[v].pop(); AddEdge(u, tmp.second, tmp.first); AddEdge(u, v, w - tmp.first); return; } else { G[v].pop(); tmp.first -= w; G[v].push(tmp); AddEdge(u

POJ 1018

折月煮酒 提交于 2019-12-17 18:14:04
题目大意:多组询问,问每组,要买n种零件,每种零件都有各自的m种选择,每种零件有两种属性:带宽b和价格p,求一种方案,有max(min(all_b)/sum(p)) 解:discuss各种奇葩,无聊回去研究一下。我的做法是按b值排序,看b最大可以选多少(用多少b以上的能把n种零件买齐),如果fin点价格相同,则需要特殊处理,交换那些key点(使零件都有的点),再贪心,min[i] = 从i买到n的最小价格,然后枚举价格,从1 to fin即可,其实挺乱的,还是见程序吧。 View Code 1 //Communication system 2 const 3 maxlen=10001; 4 inf='1.txt'; 5 type 6 data=record 7 b, p, col: longint; 8 end; 9 var 10 a: array[0..maxlen]of data; 11 min: array[0..maxlen]of longint; 12 tmp: array[0..100]of longint; 13 fin, tot, test, wugu, m, n: longint; 14 ans: extended; 15 procedure qsort(b, e: longint); 16 var 17 i, j, x: longint; 18 k: data;

树上差分

你说的曾经没有我的故事 提交于 2019-12-17 07:08:51
转载于 https://www.luogu.org/blog/sincereactor/shu-shang-ci-fen-di-liang-zhong-sai-lu 例题 先摆一波题 天天爱跑步 ; 运输计划 ; 疫情控制 ; 松鼠的新家 ; 一.关于边的差分(如找被所有路径共同覆盖的边) 首先我们除了一般的grand,depth等数组以外,多开两个数组:tmp和prev。 tmp用来记录点的出现次数(具体点说实际上记录的是点到其父亲的边的出现次数),prev记录每个点到其父亲的那条边。对于一条起点s,终点t的路径。我们这样处理: tmp[s]++,tmp[t]++,tmp[LCA(s,t)]-=2。(记住:最后要从所有叶结点把权值向上累加。)以一次操作为例,我们来看看效果(可以画一张图)。首先tmp[s]++,一直推上去到根,这时候s到root的路径访问次数都+1,tmp[t]++后,t到lca路径加了1,s到lca路径加了1,而lca到根的路径加了2。 这时,我们只需要tmp[LCA(s,t)]-=2,推到根,就能把那些多余的路径减掉,达到想要的目的。而这是一次操作,对于很多次操作的话,我们只需要维护tmp,而不必每次更新到根,维护好tmp最后Dfs一遍即可。这时如果tmp[i]==次数的话,说明i到其父亲的边是被所有路径覆盖的。如图 二.关于点的差分

“echo >”和“echo >>”的区别

妖精的绣舞 提交于 2019-12-17 04:45:23
https://www.cnblogs.com/singeryoung/p/9554551.html > 输出重定向 >> 输出追加重定向 --------------------------------------------------------------------------------------------------------------------- echo hello A 将字符串hello A输出到屏幕 --------------------------------------------------------------------------------------------------------------------- echo hello A > tmp.txt 将字符串输出重定向,当前目录没有tmp.txt,则创建tmp.txt,并将字符串输出到tmp.txt文件中 tmp.txt内容:hello A --------------------------------------------------------------------------------------------------------------------- echo hello B > tmp.txt 将字符串输出重定向, 当前目录存在tmp.txt

Linux中find的常见用法

▼魔方 西西 提交于 2019-12-17 04:17:59
Linux系统中的 find 命令在查找文件时非常有用而且方便。它可以根据不同的条件来查找文件,例如权限、拥有者、修改日期/时间、文件大小等等。 find 命令的基本语法如下: $ find [path] [option] [expression]   -print: find命令将匹配的文件输出到标准输出。   -exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。   -name filename #查找名为filename的文件。   -user username #按文件属主来查找。   -type b/d/c/p/l/f #查是块设备、目录、字符设备、管道、符号链接、普通文件。   -size n[c] #查长度为n块[或n字节]的文件 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++   find ~ -name "*.txt" -print   #在HOME中查.txt文件并显示 $find . -name "*.txt" -print

linux 基础命令1

牧云@^-^@ 提交于 2019-12-17 03:53:58
回显命令:echo 内建命令 echo "How are you" echo "$SHELL" 弱应用,显示变量中的值 /bin/bash echo '$SHELL' 强引用类型,不会显示变量中的值 $SHELL -n:禁止显示换行符,默认自动加换行符 -e:允许使用转义符 \n:换行 \t:制表符 echo -e "\n 哈哈" 显示文件的路径:which which [OPTION] COMMAND --skip-alias 不显示别名 whereis:locate the binary,source,and manual page files for a COMMAND whatis 使用mkwhatis命令可将当前系统上所有的帮助手册及与之对应的关键字 创建一个数据库 Linux会自动运行创建这个数据库 系统管理类命令: 关机: halt,poweroff,shutdown,init 0 shutdown是安全关机方式 重启: reboot,init 6,shutdown 与用户登录有关的: w,who,whoami whoami: 看当前用户是谁 who: 显示当前有哪些用户登录系统 w: show who is logged on and what they are doing 关机或重启命令: halt,poweroff,reboot -f 强制关机,不建议。不保存。

linux基础命令1

*爱你&永不变心* 提交于 2019-12-17 03:07:03
回显命令:echo 内建命令 echo "How are you" echo "$SHELL" 弱应用,显示变量中的值 /bin/bash echo '$SHELL' 强引用类型,不会显示变量中的值 $SHELL -n:禁止显示换行符,默认自动加换行符 -e:允许使用转义符 \n:换行 \t:制表符 echo -e "\n 哈哈" 显示文件的路径:which which [OPTION] COMMAND --skip-alias 不显示别名 whereis:locate the binary,source,and manual page files for a COMMAND whatis 使用mkwhatis命令可将当前系统上所有的帮助手册及与之对应的关键字 创建一个数据库 Linux会自动运行创建这个数据库 系统管理类命令: 关机: halt,poweroff,shutdown,init 0 shutdown是安全关机方式 重启: reboot,init 6,shutdown 与用户登录有关的: w,who,whoami whoami: 看当前用户是谁 who: 显示当前有哪些用户登录系统 w: show who is logged on and what they are doing 关机或重启命令: halt,poweroff,reboot -f 强制关机,不建议。不保存。

nginx+php测试时显示 502 bad gateway的解决方法

不羁岁月 提交于 2019-12-16 17:21:03
http://www.apelearn.com/study_v2/chapter18.html 由于阿铭老师的PHP版本是 5.3的 我装了 5.5 测试出现了 502 错误 查看日志 借助nginx的错误日志来进行排查vim /usr/local/nginx/logs/nginx_error.log 显示 : connect() to unix:/tmp/php-fcgi.sock failed (13: Permission denied) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /2.php HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-fcgi.sock:", host: "localhost" 解决方法一: # ll /tmp srw-rw---- 1 root root 0 Feb 22 00:58 php-fcgi.sock 修改后的权限 [root@centos nginx]# chmod 777 /tmp/php-fcgi.sock [root@centos nginx]# ll /tmp srwxrwxrwx 1 root root 0 Feb 22 00:58 php-fcgi.sock

git fetch 和git pull 的差别

和自甴很熟 提交于 2019-12-16 15:14:21
本文转载自: https://www.cnblogs.com/qiu-ann/p/7902855.html 作者:qiu-Ann 转载请注明该声明。 1、git fetch 相当于是从远程获取最新到本地,不会自动merge,如下指令:  git fetch orgin master // 将远程仓库的master分支下载到本地当前branch中  git log -p master ..origin/master //比较本地的master分支和origin/ master分支的差别  git merge origin /master //进行合并 也可以用以下指令: git fetch origin master:tmp // 从远程仓库master分支获取最新,在本地建立tmp分支 git diff tmp // 將當前分支和tmp進行對比 git merge tmp // 合并tmp分支到当前分支 2. git pull:相当于是从远程获取最新版本并merge到本地 git pull origin master git pull 相当于从远程获取最新版本并merge到本地 在实际使用中,git fetch更安全一些 来源: CSDN 作者: CHCH998 链接: https://blog.csdn.net/CHCH998/article/details/103560927

洛谷P3206 [HNOI2010]城市建设

跟風遠走 提交于 2019-12-16 11:39:28
神仙题 题目大意: 有一张 \(n\) 个点 \(m\) 条边的无向联通图,每次修改一条边的边权,问每次修改之后这张图的最小生成树权值和 话说是不是 \(cdq\) 题目都可以用什么数据结构莽过去啊…… 这道题目确实是 \(cdq\) 好题 \(cdq\) 分治一定要处理多维偏序问题吗?并不是,它的核心思想是一个用子问题计算对另一个子问题的贡献 我们将这道题按照时间轴来分治,那么显然一个子问题对另一个子问题是存在贡献的 我们将整张图上的边进行分类: 在当前分治区间内涉及到修改的边称为动态边 其他边称为静态边 我们在分治过程中,动态边显然会随着区间的缩小而减少,那么我们怎么来处理静态边呢? 仔细考虑,我们 根本不 可以发现,静态边可以分为三类: \(1.\) 无用边:肯定不会作为最小生成树中的边 对于这类边,我们可以直接扔掉 \(2.\) 必要边:必作为生成树中的边 对于这种边,我们可以直接把边权计入答案,然后把边连接的两个点用并查集合并到一起 \(3.\) 其他边 没什么办法了,直接传给子区间吧 按照这种方法,每分治到一个更小的区间,其他区间的动态边就会变成静态边,当我们分治到 \(l==r\) 时,所有的边都会变为静态边,那么其他边将不存在,必要边贡献的答案就是答案了 现在我们有两个问题: 1 :如何求出前两类边? 求无用边,我们可以将所有动态边的边权设置为 \(inf\)