給定n,問有多少數對 x, y滿足:
x, y∈[1, n], x < y
x, y**現的[0, 9]的數碼種類相同
輸入
乙個整數n (n <= 107)
輸出輸出乙個數即答案
樣例輸入
樣例輸出
提示<1, 11> <2, 22> <12, 21>
下面**感覺比較優了,但還是會超時,有新思路會再更新
#include
#define ll long long
#define inf 0x3f3f3f3f
#define pb push_back
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define rep1(i,b,a) for(int i=b;i>=a;i--)
using
namespace
std;
const
int n=1e7+100;
int vis1[n];
int arr[10];
int main()
ll sum1=0;
for(set
::iterator it=st.begin();it!=st.end();it++)
sum1=sum1*10+*it;
ans+=vis1[sum1];
vis1[sum1]++;
}cout
0;}
鄭輕邀請賽 D hipercijevi
題目鏈結 題意 題解 把那個管泛化成乙個點 然後把每乙個在管裡面的點都和它相連 然後從起點跑bfs就好 最後輸出dis n 2 因為是點的數目所以要加 然後每個點都要經過乙個泛化的點再到其他點 所以肯定邊的數目是偶數個 用了ios sync with stdio 0 之後puts不能用 number...
鄭輕邀請賽 G 密室逃脫
題目鏈結 題意 題解 考慮每乙個二進位制數的最高位 第i位 肯定是1 這裡不討論0的情況 然後對於其餘n 1個二進位制數 如果它們在第i位和它一樣 也是1的話,那麼異或結果是0 那麼不管第i位後面的位怎麼變 它肯定是變小的 我們要求的 如果它們在第i為和它不一樣 即為0,那麼異或結果是1 則它肯定是...
湘潭邀請賽A
哥德 猜想 任一大於2的偶數,都可表示成兩個素數之和。是世界上最著名的未解問題之一,但是下面的反哥德 猜想 任一大於11的奇數,都可表示成兩個合數之和。確很容易證明。定義反哥德 分拆數g n 表示將大於11的奇數n分解為兩個合數之和的方案數。再定義sg n sum 即所有不大於n的奇數的反哥德 分拆...