51nod1393】的更多相关文章

题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1393 题意:中文题面. 把0看成是-1,并且存一遍前缀和.这样-1和1相等数量的时候前缀和为0,这个特判一次.还有就是区间[l,r]和为0的时候的充要条件是s[r]-s[l]=0,得解. #include <bits/stdc++.h> using namespace std; ; char str[maxn]; int t[maxn], s[maxn];…
思路:一个位num0-num1值=某位num0-num1值相等就代表这段区间内01数字相等,然后还要判断当前位置num0==num1这个情况 #include <bits/stdc++.h> using namespace std; typedef long long LL; const int N=1e6+10; char s[N]; int sumone[N]; int sumzero[N]; int mp[2*N]; int main() { int len,x; sumone[0]=0…