摘要:
第一眼就想到DP,然后想了N久就想不到可以不重算的DP 最后没办法了 先算出来 再去重。。因为最多只有三个 对于三个来说有三种组合情况 x+y+z, x*y*z, x*y+z 那要么 x,y,z都不同 要么 有两个相同 要么有三个相同 对都不同情况我的DP结果会重复两次 对于有两个相同的会重复一次 统计出都相同的 两个相同的 最后减掉。。有点乱 不过A了先预处理 时间差不多4S多 再O(1)询问 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 #define LL l... 阅读全文
摘要:
第一个被板刷的题取余 依次算在周几 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 double ll,ss;10 char we[50];11 char s[10][20] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", &qu 阅读全文
摘要:
1019离散化都忘记怎么写了 注意两个端点 离散化后用线段树更新区间 混色为-1 黑为2 白为1 因为N不大 最后直接循环标记这一段的颜色查找 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 #define N 100010 8 #define LL long long 9 struct node 10 { 11 int d,id; 12 char c; 13 }li[N>1; 24 build(l,m,w=r) 30 { 31 ... 阅读全文
摘要:
当时读错题意了 以为是什么博弈什么的 后来知道x,y不是拿走算一下所有数的最大公约数 相差小于最大公约数的数肯定没有 1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 #define N 110 8 #define LL __int64 9 LL p[N];10 LL gcd(LL a,LL b)11 {12 return b==0?a:gcd(b,a%b);13 }14 int main()15 {16 int i,n;17 LL s=0,maxz=0;18... 阅读全文