LibreOJ #515. 「LibreOJ β Round #2」貪心只能過樣例
阿新 • • 發佈:2017-09-10
tdi thml http column printf name target sum pro
題目描述
一共有 nnn個數,第 iii 個數 xix_ix?i?? 可以取 [ai,bi][a_i , b_i][a?i??,b?i??] 中任意值。
設 S=∑xi2S = \sum{{x_i}^2}S=∑x?i???2??,求 SSS 種類數。
輸入格式
第一行一個數 nnn。
然後 nnn 行,每行兩個數表示 ai,bia_i,b_ia?i??,b?i??。
輸出格式
輸出一行一個數表示答案。
樣例
樣例輸入
5
1 2
2 3
3 4
4 5
5 6
樣例輸出
26
數據範圍與提示
1≤n,ai,bi≤1001 \le n , a_i , b_i \le 1001≤n,a?i??,b?i??≤100
dp+bitset優化
屠龍寶刀點擊就送
#include <bitset> #include <cstdio> #define N 105 using namespace std; bitset<N*10000>dp[N]; int n,l[N],r[N]; intmain() { scanf("%d",&n); dp[0]=1; for(int i=1;i<=n;++i) { scanf("%d%d",&l[i],&r[i]); for(int j=l[i];j<=r[i];++j) dp[i]|=dp[i-1]<<(j*j); } printf("%d\n",dp[n].count()); return 0; }
LibreOJ #515. 「LibreOJ β Round #2」貪心只能過樣例