Codeforces Round #609 (Div. 2)前五题题解 补题补题…… C题写挂了好几个次,最后一题看了好久题解才懂……我太迟钝了…… 然后因为longlong调了半个小时…… A.Equation 题目大意:有一个数字n,让你给出任意两个合数a,b满足a - b = n. 我们知道大于2的偶数都是合数,那么如果n为奇数,只要n加上一个奇数合数一定也为合数,如果n为偶数,那么n加上一个偶数合数也一定为合数. 因为只求任意一组,就直接选择4,9,若为奇数输出 +n 和9,偶数输出 +…
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…
题目链接:Captain Flint and Treasure 题意: 一种操作为 选一个下标 使得ans+=a[i] 且 把a[b[i]]+a[i]   要求每个下标都进行一种这样的操作,问怎么样的操作顺序才能使得ans最大 题解: 在题目面板的输入里面说了这是一个有向无环图,我怎么没看到题目上说这是一个图? 我们可以把那个操作当作一条边,而且那个操作还是单向的,所以就成有向无环图了 如果a[i]>=0,那么肯定需要进行这种操作(因为会增加ans的值).如果a[i]为负数,那么肯定是尽量减少这…
题目链接:Uncle Bogdan and Country Happiness 题意: t组输入,每组数据输入如下 首先一个n代表有n个城市,所有城市总人数为m,后面输入pi表示第i个城市的居住人数,后面的hi表示经过这个城市的人中  开心的人数-伤心的人数 后面输入n-1条无向边,每条边的长度都一样 这个图的结构是树形结构,且刚开始所有人都在1点,也就是根节点.他们会走最短路径去回到他们居住的城市 所有人在走的路上都可能由好心情变成坏心情,但是坏心情不会变成好心情,且在城市内这个变化不会发生…
题目链接: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分成四个数的和,你需要使这四个数中的至少三个数都是近似质数,且要保证这四个数互不相等 如果能找出来这四个数就输出,…
题意:有\(n\)个人,每个人居住在某个节点,所有人都在节点\(1\)上班,下班后沿着最短路径回家,在回家途中心情可能会变差(心情只会变差不会变好),每个节点都有一个开心值,开心值等于所有经过时的好心情人数减去差心情人数,现在给你每个城市的开心值,问是否满足情况. 题解:这题真的好难想啊,假设第\(i\)个城市经过的好心情的人数是\(good[i]\),差心情是\(bad[i]\),经过的总人数是\(sum[i]\),题目所要求的开心值是\(h[i]\),那么\(good[i]+bad[i]=s…
A. Captain Flint and Crew Recruitment 题意:定义了一种数(接近质数),这种数可以写成p*q并且p和q都是素数,问n是否可以写成四个不同的数的和,并且保证至少三个数是接近质数 思路:接近质数是固定的几个,因为保证至少三个是接近质数,那么只要保证三个数是固定的几个数,并且是最后一个剩下的数不和他们相同,那就可以直接输出,相等的特殊情况就可以改变接近质数(特殊情况写出来就可以) 代码: 1 #include<iostream> 2 #include<alg…
题目链接:http://codeforces.com/contest/1150/problem/D 题目大意: 你有一个参考串 s 和三个装载字符串的容器 vec[0..2] ,然后还有 q 次操作,每次操作你可以选择3个容器中的任意一个容器,往这个容器的末尾添加一个字符,或者从这个容器的末尾取出一个字符. 每一次操作之后,你都需要判断:三个容器的字符串能够表示成 s 的三个不重叠的子序列. 比如,如果你的参考串 s 是: abdabc 而三个容器对应的字符串是: vec[0]:ad vec[1…
题目链接:https://codeforces.com/contest/1265/problem/E 题目大意: 有 \(n\) 个步骤,第 \(i\) 个步骤成功的概率是 \(P_i\) ,每一步只有成功了才会进入下一步,失败了会从第 \(1\) 步重新开始测.请问成功的期望步数是多少? 解题思路: 设期望步数是 \(S\) ,则有公式如下: 实现代码如下: #include <bits/stdc++.h> using namespace std; typedef long long ll;…
第一次写博客 ,请多指教! 翻了翻前面的题解发现都是用树状数组来做,这里更新一个 线段树+离散化的做法: 其实这道题是没有必要用线段树的,树状数组就能够解决.但是个人感觉把线段树用熟了会比树状数组更有优势一点 不多废话  http://codeforces.com/contest/1311/problem/F 题目链接 题意是 给你一堆点的位置和他们运动的速度(可正可负),然后时间无限往后推的情况下问你他们之间所有点的最小距离之和.(不明白自行读题) n的范围是2,200000: 显然单纯的一个…