由於題目要求最後按照字典序輸出,我們可以先對陣列排個序,然後從頭列舉a,然後列舉b,為了降低複雜度,列舉c和d的時候可以採取折半列舉,用兩個指標l和r指向左右兩端,判斷c+d是否等於t-(a+b),若相等,則記錄乙個結果。注意最後我們還要篩去重複的記錄。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define max 105
#define inf 0x3f3f3f3f
typedef
long
long ll;
using
namespace std;
int n,t,a[max]
;struct node};
bool
cmp(node x,node y)
else
}else
}int
main()
vector vec;
sort
(a,a+n)
;for
(int i=
0;i(tmp>sum) r--
;else l++;}
}}sort
(vec.
begin()
,vec.
end(
),cmp)
;int len=vec.
size()
;for
(int i=
0;i}return0;
}
PIPI的字串問題
pipi研究了多年字串後發現回文串是字串中最優雅的一種存在了。所以pipi發明了一種指標叫優雅度的指標來衡量乙個字串的優雅程度。優雅度定義如下 1.空串和非回文串的優雅度為0。2.乙個長度為len的回文串的優雅度為,其長度為len 2 向下取整 的字首和字尾的優雅度 1.例如串 baabbaab 的...
PIPI的字串問題
pipi發現不少字串是相似的,相似是指長度相同,且如果短字串中兩個位置的字元相同則在長字串的子串中的對應位置也相同,如果短字串中兩個位置的字元不同則在長字串的子串中的對應位置也不同,比如 abcc和xyzz就是相似的。現在pipi有乙個短字串s,乙個長字串a,他想知道在這個長字串中有幾個子串與短字串...
SCOI2018 pipi醬的日常
無傳送門 又是拆絕對值的套路。絕對值拆掉後有八種情況,絕對值之和一定是這幾個裡面最大的。因為 a b a b a b geqslant a b a b a b,a b a b a b geqslant a b a b a b 於是維護乙個全域性和,維護每個位置連續三位的八種和就完了。p us hu ...