soj2271異或求和

2021-07-06 01:15:21 字數 683 閱讀 2715

題目意思是對於區間[a,b],和[c,d]內的任意一對數,求他們的異或之和、

開始不知道演算法怎麼寫,看了題解,要先求出每個區間每個位置上一的個數,再用第乙個區間某一位上1的個數乘以第二個區間上那位上0的個數即為答案中該位的個數,演算法其實不難,可好久沒怎麼寫c++**的我發現自己**能力在不知不覺中下降了很多,乙個是對陣列指標不能運用memset,另乙個是最後取模運算時少寫了乙個取模導致wa.。。。唉,還是要雷打不動學演算法啊

#include#include#include#include#define ll long long

using namespace std;

ll s1[32],s2[32],mod;

void get(ll a,ll b,ll* p)

}int main(){

ll t,a,b,c,d,ans;

cin>>t;

while(t--){

cin>>a>>b>>c>>d>>mod;

memset(s1,0,sizeof(s1));

memset(s2,0,sizeof(s2));

get(a,b,s1);

get(c,d,s2);

ans=0;

ll l1=b-a+1,l2=d-c+1;

for(int i=0;i<32;i++){

ll help=(1ll<

2 27 演算法練習

時間限制 1.0s 記憶體限制 512.0mb 給定n個十六進製制正整數,輸出它們對應的八進位制數。輸入的第一行為乙個正整數n 1 n 10 接下來n行,每行乙個由09 大寫字母af組成的字串,表示要轉換的十六進製制正整數,每個十六進製制數長度不超過100000。輸出n行,每行為輸入對應的八進位制正...

SOJ 分數排名查詢

分數排名查詢 總提交數量 641通過數量 239 時間限制 1秒 記憶體限制 256兆 題目描述 張老師在同學們考試結束後,收到很多郵件。有的同學問學號為 12號 的多少分?有的同學問學號為 18號 的排名第幾?有的同學問80分全班排第幾?還有的同學問90分的全班有幾個人?張老師手上有所有同學的分數...

SOJ 暢通工程續

description 某省自從實行了很多年的暢通工程計畫後,終於修建了很多路。不過路多了也不好,每次要從乙個城鎮到另乙個城鎮時,都有許多種道路方案可以選擇,而某些方案要比另一些方案行走的距離要短很多。這讓行人很困擾。現在,已知起點和終點,請你計算出要從起點到終點,最短需要行走多少距離。input ...