ACdream 1154 Lowbit Sum (数位dp)
2017-06-22 14:00
363 查看
题目链接:
ACdream 1154
题解:数位dp。
这题可以加深对 lowbit 的理解啊。
你打个表就可以发现规律了。
当 n 为偶数时,dp[n]=dp[n2]+n2
当 n 为奇数时,dp[n]=dp[n2]+n2+1
AC代码:
ACdream 1154
题解:数位dp。
这题可以加深对 lowbit 的理解啊。
你打个表就可以发现规律了。
当 n 为偶数时,dp[n]=dp[n2]+n2
当 n 为奇数时,dp[n]=dp[n2]+n2+1
AC代码:
/* * this code is made by LzyRapx * Problem: 1154 * Verdict: Accepted * Submission Date: 2017-06-21 23:56:51 * Time: 180MS * Memory: 1664KB */ #include <bits/stdc++.h> using namespace std; typedef long long ll; int lowbit(int x) { return x&(-x); } ll DP(int x) { if(x==1)return 1; return 2*DP(x>>1) + (x>>1) + (x&1); } int main() { int n =0 ; /* for(int n=1;n<=10;n++){ int ans = 0 ; for(int i=1;i<=n;i++){ ans+=lowbit(i); cout<<lowbit(i)<<" "; } cout<<endl; cout<<ans<<endl; } */ while(~scanf("%d",&n)) { cout<<DP(n)<<endl; } return 0; }
相关文章推荐
- ACdream 1154 Lowbit Sum(数位DP)
- ACdream 1154 Lowbit Sum (数位DP)
- ACdream 1154 Lowbit Sum (数位DP)
- ACdreamOJ 1154 Lowbit Sum (数位dp)
- 数位DP ACdream 1154 Lowbit Sum
- ACdream 1154 Lowbit Sum
- acdream 1154 Lowbit Sum
- ACdream 1154 Lowbit Sum(数学:推理)
- ACdream OJ 1154 Lowbit Sum
- ACdreamOJ 1154 Lowbit Sum (数字dp)
- ACDream - Lowbit Sum
- UVa 11361 - Investigating Div-Sum Property (数位DP)
- UVa 11361 Investigating Div-Sum Property (数位DP)
- Investigating Div-Sum Property UVA - 11361(数位DP讲解)
- UVA 11361 - Investigating Div-Sum Property(数位DP)
- Lightoj1032——Fast Bit Calculations(数位dp)
- UVA 11361 Investigating Div-Sum Property (数位DP)
- [UVALive4864] Bit Counting && 数位DP
- ACdream 1064 完美数【数位DP】
- UVA 11361 Investigating Div-Sum Property (数位DP)