
搜索
Dave_L
这个作者很懒,什么都没留下…
展开
-
美团2018校招真题题解 搜索 分层图最短路 前缀和(更新ing
病毒传播思路:应该是比较简单的一道题,因为点数是千数量级的,floyd肯定不行了,看到边数也是1000,这就暗示了要从边下手,直接bfs找每个S集合内的点到各点的最短路这就是O(n*m),S不连通则无满足点,否则寻找S集合内满足以下条件的点:对于S中的点x,到达S中除x外任意点距离 <= t && 到达G-S集合点距离 > t 的点x思路不难,但是也卡了不少时间,...原创 2020-04-18 18:25:15 · 349 阅读 · 0 评论 -
牛客-PAT历年真题刷题记录(更毕)
Public Bike Management (30)题目链接本地:F:\nowcoder\pat>题意:0处是管理处,sp处是向管理处报告问题的车站,现要从0处到达sp处,途中路过车站的车辆数目也要调整到M / 2(多的带走继续往下走,少的从0处调拨)给一个带权图(每个点都是一个车站,0是管理处),从0点出发,到给定的sp车站,求最少花费(最短路),若花费相同,则取从0处调拨的车辆...原创 2020-02-15 18:43:57 · 1274 阅读 · 0 评论 -
UVALive-2965 && 网易19-牛牛的背包问题(中途相遇法思想)
UVALive-2965题目链接:https://vjudge.net/problem/UVALive-2965题意:给n个大写字母构成的字符串,要求选取若干个字符串,满足每个字母出现偶数次(即选取的字符串集合中A-Z总数出现偶数次)思路:n有24,直接暴力选(每个串选或者不选暴力,见下题有类似实现)是TLE。所以采用将n个字符串一分为2,再逐个暴力,复杂度就变得可接受了。由于本题只考虑A...原创 2020-02-06 21:00:21 · 215 阅读 · 0 评论 -
2017-2018 ACM-ICPC Latin American Regional Programming Contest F 树状数组 E dfs J 循环节
GYM题目链接E:给一个长度不超过1000的数s,和一个n&amp;lt;=1000 ,求最小的s使得s|x .思路:记忆化搜索,f[id][sta] 代表到第 id 位且mod n 的结果为sta时能否能够整除n。Code:#include &amp;lt;bits/stdc++.h&amp;gt;using namespace std;const int AX = 1e3 + 66 ; int f[AX...原创 2018-10-24 22:24:35 · 446 阅读 · 0 评论 -
Codeforces Round #483 (Div. 2) A 模拟B暴搜 C数论 D dp
A思路:输出中间的数Code:#include <bits/stdc++.h>using namespace std;const int AX = 1e3 + 666 ;int a[AX];int main(){ int n ; cin >> n ; for( int i = 1 ; i <= n ; i++ ){ cin >> a...原创 2018-10-11 22:29:49 · 161 阅读 · 0 评论 -
Bzoj1085 搜索+简单的A*估价函数
Bzoj1085思路:dfs搜索+A*的估价函数。需要注意的是终止条件需要减去1,因为*号也被统计在不同内。 Code:#include <bits/stdc++.h>using namespace std;const int AX = 5+6;char G[AX][AX];int f ; char target[AX][AX] = { {'1','1','...原创 2018-09-09 09:46:48 · 592 阅读 · 0 评论 -
ACM-ICPC 2018 沈阳赛区网络预赛 D A*算法 F 有上下界的网络流 G分解质因数+公式 容斥 I 模拟 K讨论
D 题意:找是否存在第k短路且判断长度是否小于等于T。 思路:A*算法裸题。#include &amp;amp;amp;lt;bits/stdc++.h&amp;amp;amp;gt;#define INF 0x3f3f3f3fusing namespace std;const int AX = 1e5+66;const int MAXN = 1e4+66;int n , m , k;int s ,t ;int tot...原创 2018-09-09 09:44:45 · 511 阅读 · 1 评论 -
Educational Codeforces Round 49 (Rated for Div. 2) A B模拟C数学 D搜索
A 题意:一个字母可以替换成前面的或者后面的,每个字母必须替换一次,问能不能替换成回文。 Code:#include <bits/stdc++.h>#define LL long long using namespace std;const int AX = 1e2+6;char s[AX];int a[AX];int main(){ int T ; ...原创 2018-09-02 16:38:57 · 164 阅读 · 0 评论 -
Codeforces Round #503 (by SIS, Div. 2) A 模拟 B搜索 C思维
A#include <bits/stdc++.h>#pragma comment(linker, “/STACK:1024000000,1024000000”)#define INF 0x3f3f3f3f#define LL long longusing namespace std;const int AX = 2e3+66;int a[AX];int main(){...原创 2018-08-12 10:06:28 · 364 阅读 · 0 评论 -
练习赛15 C模拟 D模拟 E搜索 F 树+思维 G dp H求连通块
C 思路:模拟处理一下。 Code:#include &amp;amp;amp;amp;lt;bits/stdc++.h&amp;amp;amp;amp;gt;#define LL long long #define INF 0x3f3f3f3fusing namespace std;const int MOD = 1e9+7;const int AX = 3e5+66;int a[AX];int b[AX];char s[AX];i...原创 2018-08-02 17:36:29 · 216 阅读 · 0 评论 -
8.3 训练赛补题 B思维 C方格填数(搜索) E枚举,精度
B 思路:相当于转化成b进制。 Code:#include <bits/stdc++.h>#define LL unsigned long long using namespace std;int main(){ int T; cin >> T; LL K , b ,n ; while( T-- ){ cin ...原创 2018-08-11 13:43:48 · 230 阅读 · 0 评论 -
练习赛5
A 题意:给一个算式(加法),用字母代表的,每个字母代表一个0-9的数字,问能够使等式成立的赋值方法有几种。 思路:暴力给每一个字母赋值。 Code:#include <bits/stdc++.h>#define LL long longusing namespace std;const int AX = 1e3+66;char s[AX][AX];map<i...原创 2018-07-21 17:12:24 · 172 阅读 · 0 评论 -
图论专题-状态压缩+搜索( dfs || bfs)
思路: N只有22,所以可以用二进制压缩来表示点与点之间的联系, 例如标号为1的人认识标号为3与5还有7的人 标号为1的二进制压缩结果就为 0000000000000000001010101(标号为i的人肯定认识他自身) 可以用BFS暴力来找结果,dp[i]表示达到状态i的最小步数。 需要注意的就是必须当前状态now与(1&lt;#include &lt;bits/stdc++...原创 2018-07-15 20:17:00 · 1156 阅读 · 0 评论 -
暑期集训-Benelux Algorithm Programming Contest 2014 Final 解题报告
B. Button Bashing 题目链接:https://nanti.jisuanke.com/t/28312 题意:给n个按钮,每个可以按无数次,每按一次按钮增加或者减少一些时间,问如果能得到给定的时间,则输出最少次数和0,不能的话输出最少次数+大于给定时间的最小的时间与给定时间的差。 思路: t最多只有3600,所以可以求出每个时刻按下每个按钮后达到的所有时间。然后以这些时间为节...原创 2018-07-11 17:20:00 · 296 阅读 · 0 评论 -
Codeforces Round #494 (Div. 3) A , B ,C , D , E
A 略B 题意要求a个0,b个1,有且只有x个位置si 不等于si+1 思路:初始构建一个有x-1个位置si ≠ si+1 的串( 0 多就0开头,1多就1开头) 0多且x为偶数,则初始串结尾一定为0,所以先输出0,在输出1 ,x-1+1 满足x 1多且x为奇数,初始串结尾一定为1,所以先输出0,再输出1.剩下两种情况类似。Code:#include <bits/s...原创 2018-07-04 11:13:07 · 163 阅读 · 0 评论 -
暑期训练赛 BAPC 2014 Preliminary 解题报告
A. Choosing Ice Cream 题目链接:https://nanti.jisuanke.com/t/28201 题意:有n个ice cream,给你一个骰子k个面,问能否公平的(等概率选出一个ice cream)选择一个ice cream。如果能,求出投掷几次(或者需要几个骰子),不能则输出“unbounded”。 思路: 如果能够公平选择(即投掷后每个ice cream等概...原创 2018-07-08 15:50:51 · 316 阅读 · 0 评论 -
搜索专题 - 自幂数
思路:因为19位情况太多,要暴力枚举每位肯定会TE,所以为了优化时间复杂度,可以枚举n位数字中 每个数字出现的次数,记录下来,每次枚举到n位就判断所求的和是否满足枚举的情况。我先存起来每个数字的n次方,方便直接使用。Code:#include &lt;bits/stdc++.h&gt;#define LL unsigned long long using namespace ...原创 2018-06-04 18:49:43 · 915 阅读 · 5 评论 -
搜索专题-A*算法初学(求第K短路)
思路:A*算法裸题Code:#include &amp;lt;bits/stdc++.h&amp;gt;#define INF 0x3f3f3f3fusing namespace std;const int AX = 1e5+66;const int MAXN = 1e3+66;int n , m , k;int s ,t ;int tot ;int retot ;struct ed...原创 2018-06-04 18:52:59 · 556 阅读 · 0 评论