Atcoder F - Mirrored(思维+搜索)】的更多相关文章

题目链接:http://arc075.contest.atcoder.jp/tasks/arc075_d 题意:求rev(N)=N+D的个数,rev表示取反.例如rev(123)=321 题解:具体看一下代码,这题需要思考一下,虽然是简单的dfs但是不好想到. #include <iostream> #include <cstring> #include <cmath> using namespace std; typedef long long ll; ll Powe…
题意 给定一个数x,问有多少个正整数y,使得rev(y)-y==x 其中rev(x)表示x按位翻转之后得到的数. x<=1e9 做法 首先通过打表发现,这个答案不会很大. 这就说明解相当地松弛. 可以通过搜索+剪枝解决. 我主要运用的剪枝有: 1.填了一位之后,可以立刻填出对称的另外一位. 2.看当前的rev(x)-x是否与给定的目标差距过远.…
题目描述 给你两个数 \(x\),\(y\) 可以对 \(x\) 进行 \(+1,-1\) 或 \(\times 2\) 的操作 问最少操作多少次后变为 \(y\) \(x,y \leq 10^{18}\) 分析 将问题转化为从 \(y\) 变为 \(x\),可以进行 \(+1,-1\) 或 \(\div 2\) 的操作 之所以这样做,是因为转化题意之后操作更受约束 如果当前值为偶数,则只能除以 \(2\) 如果当前值为奇数,则只能执行加 \(1\) 或减 \(1\) ,再除以 \(2\) 因为…
F - LCS Time Limit: 2 sec / Memory Limit: 1024 MB Score : 100100 points Problem Statement You are given strings ss and tt. Find one longest string that is a subsequence of both ss and tt. Notes A subsequence of a string xx is the string obtained by r…
就是一个组合数水题 偷个图 去掉阴影部分  把整个图看成上下两个矩形 对于上面的矩形求出起点到每个绿点的方案 对于下面的矩形 求出每个绿点到终点的方案 上下两个绿点的方案相乘后相加 就是了 想想为什么 #include <iostream> #include <cstdio> #include <sstream> #include <cstring> #include <map> #include <cctype> #include…
传送门 感觉自己搜索能力退化了,这种弱智搜索写了整整5min,这样下去比赛会凉的. 看来得多练练题了. 代码: #include<bits/stdc++.h> #define ll long long using namespace std; ll x,ans=0; int n,num[15]; inline void dfs(int pos,ll sum){ if(pos==n+1){ans+=sum;return;} ll tmp=0; for(int i=pos;i<=n;++i)…
F - Permutation 思路:对于当前的值x, 只需要知道x + k, x - k这两个值是否出现在其左右两侧,又因为每个值只有一个, 所以可以转换成,x+k, x-k在到x所在位置的时候是否都出现,或者都不出现,即出现情况相等,我们可以 用线段树维护hash值的方式来判断所有x+k,  x-k的出现情况是否都一样. #include<bits/stdc++.h> #define LL long long #define fi first #define se second #defi…
题目链接:https://abc081.contest.atcoder.jp/tasks/arc086_b 题目大意:有n个数,最多可以执行2*n次操作,每次可以选择将ai加到aj上,最终使得该序列满足a1<=a2<=a3....<=an.求操作过程,答案不唯一. 解题思路:我们分三种情况讨论: ①a1~an都大于等于0,那么只要从左往右使a2+=a1,a3+=a2,.....an+=an-1.总共n-1次操作就能保证a1<=a2<=a3....<=an. ②a1~an…
F- Namori http://agc004.contest.atcoder.jp/tasks/agc004_f Time limit : 2sec / Memory limit : 256MB Score : 2200 points Problem Statement You are given an undirected graph with N vertices and M edges. Here, N−1≤M≤N holds and the graph is connected. Th…
传送门 sxy题解: //Achen #include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<vector> #include<queue> #include<cmath> #define For(i,a,b) for(int i=(a);i<=(b);i++)…