题目链接:Captain Flint and Treasure 题意: 一种操作为 选一个下标 使得ans+=a[i] 且 把a[b[i]]+a[i]   要求每个下标都进行一种这样的操作,问怎么样的操作顺序才能使得ans最大 题解: 在题目面板的输入里面说了这是一个有向无环图,我怎么没看到题目上说这是一个图? 我们可以把那个操作当作一条边,而且那个操作还是单向的,所以就成有向无环图了 如果a[i]>=0,那么肯定需要进行这种操作(因为会增加ans的值).如果a[i]为负数,那么肯定是尽量减少这…
题目链接:Captain Flint and Crew Recruitment 题意: t组输入,每一组输入一个n.这里我们说一下题目定义的近似质数概念: "如果可以将正整数x表示为p⋅q,则将其定义为近似质数,其中1 <p <q,p和q是质数. 例如,整数6和10几乎是质数(因为2⋅3= 6和2⋅5= 10),但整数1.3.4.16.17不是." 这里我们把n分成四个数的和,你需要使这四个数中的至少三个数都是近似质数,且要保证这四个数互不相等 如果能找出来这四个数就输出,…
A. Captain Flint and Crew Recruitment #构造 题目链接 题意 定义一类正整数,能够被\(p*q\)表示,其中\(p.q(1<p<q)\)均为素数,称之为\(nearly\ prime\) .现要求判断整数\(n\),是否能被4个不同整数之和表示,且其中至少三个整数为\(nearly\ prime\) (是则,输出YES否则输出NO) 分析 \(n = 31 = 2\times7+2\times5+2\times3+1\),其中\(14,10,6\)为\(n…
A. Captain Flint and Crew Recruitment 题意:定义了一种数(接近质数),这种数可以写成p*q并且p和q都是素数,问n是否可以写成四个不同的数的和,并且保证至少三个数是接近质数 思路:接近质数是固定的几个,因为保证至少三个是接近质数,那么只要保证三个数是固定的几个数,并且是最后一个剩下的数不和他们相同,那就可以直接输出,相等的特殊情况就可以改变接近质数(特殊情况写出来就可以) 代码: 1 #include<iostream> 2 #include<alg…
题目链接:Uncle Bogdan and Country Happiness 题意: t组输入,每组数据输入如下 首先一个n代表有n个城市,所有城市总人数为m,后面输入pi表示第i个城市的居住人数,后面的hi表示经过这个城市的人中  开心的人数-伤心的人数 后面输入n-1条无向边,每条边的长度都一样 这个图的结构是树形结构,且刚开始所有人都在1点,也就是根节点.他们会走最短路径去回到他们居住的城市 所有人在走的路上都可能由好心情变成坏心情,但是坏心情不会变成好心情,且在城市内这个变化不会发生…
题意:有\(n\)个人,每个人居住在某个节点,所有人都在节点\(1\)上班,下班后沿着最短路径回家,在回家途中心情可能会变差(心情只会变差不会变好),每个节点都有一个开心值,开心值等于所有经过时的好心情人数减去差心情人数,现在给你每个城市的开心值,问是否满足情况. 题解:这题真的好难想啊,假设第\(i\)个城市经过的好心情的人数是\(good[i]\),差心情是\(bad[i]\),经过的总人数是\(sum[i]\),题目所要求的开心值是\(h[i]\),那么\(good[i]+bad[i]=s…
题目链接: http://codeforces.com/contest/677/problem/D 题意: 让你求最短的从start->...->1->...->2->...->3->...->...->p的最短路径. 题解: 这题dp的阶段性还是很明显的,相同的值得方格为同一个阶段,然后求从阶段1->2->3...->p的阶段图最短路. 初始化所有a[x][y]==1的格子为起始点到(x,y)坐标的距离. 方程式为dp[x1][y1…
D. Vanya and Treasure 题目连接: http://www.codeforces.com/contest/677/problem/D Description Vanya is in the palace that can be represented as a grid n × m. Each room contains a single chest, an the room located in the i-th row and j-th columns contains t…
题目大意: 给你一个n × m 的图,有p种宝箱, 每个点上有一个种类为a[ i ][ j ]的宝箱,a[ i ][ j ] 的宝箱里有 a[ i ][ j ] + 1的钥匙,第一种宝箱是没有锁的, 第p类宝箱只有一个且里面由宝藏,你现在在(1 ,1)问你最少需要多少步才能拿到宝藏. (n, m <= 300) 思路:这题真的好恶心啊...  我们考虑p类宝箱只能从p - 1类转移过来, 这样我们就能从第一类宝箱开始往后递推, 但是最坏的情况, p 类 和p - 1类,都有45000 个点, 那…
Codeforces Round #271 (Div. 2) A - Keyboard 题意 给你一个字符串,问你这个字符串在键盘的位置往左边挪一位,或者往右边挪一位字符,这个字符串是什么样子 题解 模拟一下就好了 代码 #include<bits/stdc++.h> using namespace std; string s[3]; map<char,int>r,c; char ss[2][107]; int main() { s[0]="qwertyuiop"…