bupt summer training for 16 #6 ——图论】的更多相关文章

https://vjudge.net/contest/174020 A.100条双向边,每个点最少连2个边 所以最多100个点,点的标号需要离散化 然后要求恰好经过n条路径 快速幂,乘法过程就是floyed就行了 #include <algorithm> #include <cstring> #include <cstdio> using namespace std; ; ]; struct matrix { ][]; matrix() { memset(c, 0x3f…
https://vjudge.net/contest/175596#overview A.设第i次出现的位置左右端点分别为Li,Ri 初始化L0 = 0,则有ans = sum{ (L[i] - L[i-1]) * (n + 1 - Ri) } #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; ; ]; long…
https://vjudge.net/contest/174962#overview A.我们发现重点在于x,y只要累加就ok了 在每个x上只有上下两种状态,所以可以记忆化搜索 f[0/1][i]表示 x = i 时向下/上走,那需要移动多少才能走出去 #include <cstdio> #include <algorithm> using namespace std; ; typedef long long ll; ll a[maxn], f[][maxn]; ][maxn],…
https://vjudge.net/contest/173780 A.假设 Pt = i,则由Ppi = i得 Ppt = t = Pi 所以就有 if Pt = i then Pi = t #include <cstdio> #include <algorithm> using namespace std; ]; int main() { scanf("%d", &n); ) puts("-1"); else { ;i <=…
https://vjudge.net/contest/173277#overview A.平方差公式后变为 n = (x + y)(x - y) 令 t = x - y ,变成 n = (t + 2x) * t,要 x 最小 O(sqrt(n)) 枚举 n 的因数即可 #include <cstdio> typedef long long ll; ll n, m, k, t; int main() { scanf("%lld", &n); while(n --) {…
https://vjudge.net/contest/172464 后来补题发现这场做的可真他妈傻逼 A.签到傻逼题,自己分情况 #include <cstdio> #include <vector> #include <algorithm> using std::vector; using std::sort; typedef long long ll; int n, m; ll a[], b[]; ll sa, sb, dis, tmp, qaq; , t2 = -…
https://vjudge.net/contest/171368#overview A.一个签到题,用叉积来判断一个点在一条线的哪个方向 可以二分,数据范围允许暴力 #include <cstdio> struct point { int x, y; }a[]; ], y[], c[]; int _cross(const point &A, const point &B) { return A.x * B.y - A.y * B.x; } int main() { ], &a…
D.What a Mess 给n个数,求其中能满足 a[i] % a[j] == 0 的数对之和 n = 1W,max_ai = 100W 不是很大,所以就直接筛就可以了 计算可得最高复杂度 < 1kW ...考场上写了这个解法,结果把 j += i 写成了 j ++ ... 我还以为是单个测试点case太多...多么痛的领悟... #include <bits/stdc++.h> using namespace std; ], b[]; int main() { scanf("…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/activity-lifecycle/pausing.html 在正常使用应用的过程中,在前台的activity有时候会被其它组件所遮挡,导致这个activity进入到暂停态.例如:当打开一个半透明activity(dialog中有这样一种风…
题目链接 A.容易发现最后字符的对应都是一对一的 或者说我们没办法出现最后多对一或者一对多的情况 所以只要算出 ‘a’ - 'z' 每个字符最后对应的字符即可 #include <cstdio> #include <algorithm> ]; ], s[]; int main() { ], s2[]; scanf("%d %d %s", &n, &m, s); ;i < ;i ++) a[i] = i + 'a', b[i] = i; wh…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/activity-lifecycle/index.html 当一个用户使用你的应用,或者返回,或者退出时,Activity的实例会在它的生命周期内对应地切换到相应的状态.例如:当你的Activity第一次启动时,它会来到系统的前台并获得用户焦…
BUPT 2017 Summer Training (for 16) #6C 题意 n个点,完全图减去m条边,求生成树个数. 题解 注意可能会给重边. 然后就是生成树计数了. 代码 #include <cstdio> #include <cstring> #include <algorithm> #define N 101 #define eps (1e-8) #define mem(x,v) memset(x,v,sizeof(x)) typedef long lon…
BUPT 2017 Summer Training (for 16) #3G 题意 摆好的多米诺牌中有n个关键牌,两个关键牌之间有边代表它们之间有一排多米诺牌.从1号关键牌开始推倒,问最后倒下的牌在哪里,以及时刻. 题解 注意最后倒下的可能不是关键牌,而是关键牌之间的牌. dfs找出每个关键牌最早到达的时间,也就是它们倒下的时刻.然后再对每条边,计算边上最后倒下的牌的时间. 其实就是跑一遍最短路. 代码 #include <cstdio> #include <cstring> #i…
BUPT 2017 Summer Training (for 16) #3A 题意 给你三个矩形,需要不重叠不留空地组成一个正方形.不存在输出-1,否则输出边长和这个正方形(A,B,C表示三个不同矩形). 题解 我的做法是直接枚举三个是否旋转90度,然后考虑两种组成,|||和=|,枚举3的排列. 其实可以先计算面积s,如果r=sqrt(s)不是整数则无解.然后找到一个较长边为r的矩阵先输出,再输出剩下两个. 代码 #include <cstdio> #include <algorithm…
BUPT 2017 summer training (for 16) #1I 题意 字符串s(1 ≤ |s| ≤ 10 000),有m(1 ≤ m ≤ 300)次操作,每次给l,r,k,代表将r位置插入l位置前,执行k(1 ≤ k ≤ 1 000 000)次.输出最后的s. 题解 等价与将字符串的[l...r-k]和[r-k+1...r]两部分调换一下. k对r-l取模一下.然后模拟. 还有种方法是将两部分分别翻转,再整个字符串翻转一下. 也可以用stl的rotate函数. 代码 #includ…
BUPT 2017 summer training (for 16) #1H 题意 每个节点是黑色or白色,经过一个节点就会改变它的颜色,一开始在1节点.求一条路径使得所有点变成黑色. 题解 dfs时每个节点的孩子处理完,这时候如果颜色是白色,那么再去一下父亲节点再回来,就变成黑色了. 如果是1号点,那就去它的孩子节点,再回来,再去它孩子节点. 代码 #include <cstdio> #define N 200005 struct edge{ int to,next; }e[N<<…
BUPT 2017 summer training (for 16) #1G 题意 每个人有一个懒惰值,每个任务有个难度,一开始每个人的任务和懒惰值都为\(a_i\),完成任务时间是懒惰值乘以难度,现在重新分配任务,问花费的时间最小是多少.结果模10007. 题解 显而易见,最好的分配方法是最懒的人做最简单的任务...然后就排序求和. 注意用long long. 代码 #include <cstdio> #include <algorithm> #define ll long lo…
BUPT 2017 summer training (for 16) #1F 题意 依次有n (1 ≤ n ≤ 200) 个车要修理,每个车希望在s[i]时刻开始修理,时长d[i],如果s[i]后面没有那么多空的时间,那么就选最小的可行的起点.\(s_i, d_i (1 ≤ s_i ≤ 10^9, 1 ≤ d_i ≤ 5·10^6)\) 题解 模拟,先看从s[i]时刻开始修理,和之前i-1个是否冲突.如果冲突,就枚举每个s[j]+d[j]时刻开始,看是否冲突,再从中选择最小的时刻. 代码 #in…
BUPT 2017 summer training (for 16) #1E 题意 找到匹配要删除的文件名们但不匹配其它文件名们的表达式.其中?匹配所有字符,其它字符匹配本身. 题解 如果某个位置出现两个及以上的不同字符,那就要用?.再看是否会匹配其它文件名.注意长度不同一定不匹配. 代码 #include <cstdio> char w[101][101]; bool d[101]; char o[101]; int n,m; int main(){ scanf("%d%d&quo…
BUPT 2017 summer training (for 16) #1D 题意 找到n个数里面有多少对具有倍数关系.\(1 ≤ n ≤ 10^4,2 ≤ a_i ≤ 10^6\) 题解 枚举一个数,和它的倍数. 代码 #include <cstdio> #include <cstring> int n,t,b[1000001]; int main(){ scanf("%d",&t); while(t--){ memset(b,0,sizeof b);…
BUPT 2017 summer training (for 16) #1C 题意 A new computer scientist is trying to develop a new memory management system called "spiral memory management". The basic idea of this system is that it represents the memory as a 2D grid with a predefin…
BUPT 2017 summer training (for 16) #1B 题意 Alex is repairing his country house. He has a rectangular metal sheet of size a × b. He has to cut two rectangular sheets of sizes \(a_1\) × $b_1 $and \(a_2\) × \(b_2\) from it. All cuts must be parallel to t…
声明: 1)本文由我bitpeach原创撰写,转载时请注明出处,侵权必究. 2)本小实验工作环境为Windows系统下的WEKA,实验内容主要有三部分,第一是分类挖掘(垃圾邮件过滤),第二是聚类分析,第三是关联挖掘. 3)本文由于过长,且实验报告内的评估观点有时不一定正确,希望抛砖引玉. (一)WEKA在Ubuntu下的配置 下载解压 下载和解压weka .下载: 创建目录:sudo mkdir /usr/weka. 解压weka到该目录:unzip weka-3-6-10.zip -d /us…
Contractive autoencoder是autoencoder的一个变种,其实就是在autoencoder上加入了一个规则项,它简称CAE(对应中文翻译为?).通常情况下,对权值进行惩罚后的autoencoder数学表达形式为: 这是直接对W的值进行惩罚的,而今天要讲的CAE其数学表达式同样非常简单,如下: 其中的 是隐含层输出值关于权重的雅克比矩阵,而   表示的是该雅克比矩阵的F范数的平方,即雅克比矩阵中每个元素求平方 然后求和,更具体的数学表达式为: 关于雅克比矩阵的介绍可参考雅克…
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2048    Accepted Submission(s): 805 Problem Description Recently, dobby is addicted in the Fruit Ninja. As you know, dobby is a free elf, so unlik…
twoNumber Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 2048/1024 K (Java/Others) Total Submission(s): 675    Accepted Submission(s): 210 Problem Description 小白请你帮个忙,在一大堆杂乱无章的数字中,找出两个丢失的数字. 这堆数字虽然杂乱无章,但是有一个特点,就是没有重复的数字,而且排序后可以首尾相连(不过丢失了两个):…
病毒侵袭持续中 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6721    Accepted Submission(s): 2372 Problem Description 小 t非常感谢大家帮忙解决了他的上一个问题.然而病毒侵袭持续中.在小t的不懈努力下,他发现了网路中的“万恶之源”.这是一个庞大的病毒网站,他有着好多 好多的病毒,…
最长回文 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8253    Accepted Submission(s): 2825 Problem Description 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度.回文就是正反读都是一样的字符串,如aba, abba等   Input 输入有多组…
Party Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3551    Accepted Submission(s): 1154 Problem Description 有n对夫妻被邀请参加一个聚会,因为场地的问题,每对夫妻中只有1人可以列席.在2n 个人中,某些人之间有着很大的矛盾(当然夫妻之间是没有矛盾的),有矛盾的2个人是不会同…
Manacher算法 Manacher模板题…… //HDOJ 3068 #include<cstdio> #include<cstring> #include<cstdlib> #include<iostream> #include<algorithm> #define rep(i,n) for(int i=0;i<n;++i) #define F(i,j,n) for(int i=j;i<=n;++i) #define D(i,j…