hihoCoder挑战赛31】的更多相关文章

#1595 : Numbers 时间限制:8000ms 单点时限:1000ms 内存限制:256MB 描述 给定n个整数常数c[1], c[2], ..., c[n]和一个整数k.现在需要给2k个整数变量x[1], x[2], ..., x[k], y[1], y[2], ..., y[k]赋值,满足 (1)对于所有1 ≤ i ≤ k,都有x[i] ≤ y[i]. (2)对于所有1 ≤ i ≤ n,都存在至少一个j (1 ≤ j ≤ k),使得x[j] ≤ c[i] ≤ y[j]. 求出S=(y…
hihoCoder挑战赛23 A.Emulator 题意 给一张图,有\(N(N \le 300)\)个点, 给出任意两点之间的最短路. 求最多可以去掉多少条边,使得任意两点的最短路长度不变. 思路 若一条边\((i,j)\)可以去掉,那么必然存在路径\(d(i, k) + d(k, j) = d(i, j)\). 代码 hihoCoder_1379 B.Certificate 题意 已知有\(N(N \le 14)\)个变量,变量取值\(0\)或\(1\). 已知\(f(0,0,\cdots,…
题目地址:http://hihocoder.com/problemset/problem/1264 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 我们说两个字符串是非常相似的,当且仅当它们的编辑距离小于等于1. 现在我们有两个字符串A和B, 每个单位时间你可以交换字符串A的相邻的两个字符. 问最少需要多少时间,你可以让A和B变得非常相似?保证存在一种这样的方案. 输入 第一行一个字符串,表示A. 第二行一个字符串,表示B. 所有字符串都仅有英文小写字母组成. A和…
某蒟蒻成功的·写出了T1并rank16...小岛的题目真难... 传送门:http://hihocoder.com/contest/challenge26 T1 如果你想要暴力枚举的话显然是不行的 如果你想要打表找规律的话显然也是不行的 可以(很容易地)想到逆推法 因为每一个n都是由某两个数结合而成 所以只要随机两个数并检验就可以了 细节就不明说了. Code: #include <ctime> #include <cstdio> #include <cstring>…
萌新第一次打hihoCoder的比赛有点慌 T1 T1并不是特别难想到dp就好做了 显而易见的是一个01背包问题 Code: #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; ; ],son[],x; int main() { cin>>n;memset(son,,sizeof son); ;i<…
clj在某场hihoCoder比赛中的一道题,表示clj的数学题实在6,这道图论貌似还算可以... 题目链接:http://hihocoder.com/problemset/problem/1167 由于是中文题目,题意不再赘述. 对于任意两条小精灵的活动路径a和b,二者相交的判断条件为b的两个端点的LCA在a的路径上:那么我们可以首先将每个活动路径端点的LCA离线预处理出来,对每个节点LCA值+1. 然后以某个节点(我选择的是节点1)为根进行深搜,算出一条从节点1到节点x的LCA值和,那么任意…
官方题解:https://media.hihocoder.com/contests/challenge34/tutorials-previewed.pdf 题目链接:http://hihocoder.com/problemset/problem/1781 题意问对于给定序列A,是否存在一个整数k, 使得A冒泡k轮后变成序列B. 这题一种做法是像官方题解一样写个计算区间最值的数据结构. 而我是另一种做法,通过的逆序数 来判断A怎样能变化到B. 例子 首先我举一个例子: 对于序列  A 8 7 5…
[题目链接]:http://hihocoder.com/problemset/problem/1509 [题意] [题解] 每次找到相邻两个数的二进制形式中; 不同的最高位; 显然S在这一位必然是确定的; 必须在这一位确定数字让a[i]< a[i+1]; 至于更高位的,它们的数字是相同的,以及更低位的; 它们都任意; 因为要对于所有的i∈[1..n-1]都满足要求 所以看看哪些位置最后是确定的; (或者发生了抵触->直接输出0) 然后剩下的位置的个数为x; 则答案就为2^x; [Number…
题目链接:http://hihocoder.com/problemset/problem/1034 数据结构题,由于每个魔法单位有着不同的回复速度和上限,所以不能根据吸收时间点进行查询和更新.但是如果知道每个人在哪些时间点被吸收了,那么可以按照每个单位的情况更新,具体操作是:时间间隔超过Mi/Ri的则被吸收的值为Mi(设这样的间隔有x个),否则为Ri*时间间隔(设这样的间隔总时间长度为y),此魔法单位被吸收的总量为x*Mi+y*Ri. 如何快速求每个单位在哪些时间被吸收:维护一个有序序列记录时间…
#1191 : 小W与网格 描述 给定一个n*m的网格,左上角(1, 1),右下角(n, m). 小w在(i, j),他会从"上左下右"四个方向中选定两个不同但正交的方向,然后他只能沿着这两个方向走,直到他走出网格. 小w想知道有多少种不同的走法. 两个走法不同当且仅当所经过的格子的集合不同. 输入 输入包含多组数据. 每组数据一行四个整数n, m, i, j.(1 <= i <= n <= 100, 1 <= j <= m <= 100) 输出 对…