題意:有兩顆星球,一年的長度分別為37天和173天。問第n天時它們是否為新年的第一天。
思路:顯然 n 同時被37和173整除時,兩種曆法都在新年第一天,即 n 是 37*173=10001的倍數。
坑點:n的長度會達到1e7,我以為要用讀入掛之類的,手寫用getchar()讀入卻tle,直接scanf("%s", n)就沒事。
#include#includeview codeusing
namespace
std;
intmain()
else
}return0;
}
ac**:
#include#includeview codeusing
namespace
std;
char n[10000010
];int
main()
printf(
"case #%d: %s\n
", ++cas, val==0?"
yes":"no"
); }
return0;
}
題意:給n個正整數(最大素因子不超過2000),求n個數組成平方數的方案數。
思路:高斯消元模板題。
把每個數的素因子加入矩陣a中,設a高斯消元後的秩為 r,則自由元個數為 n - r, 組合方案數為 2^(n - r) - 1。
手寫的快速冪函式pow跟c++庫重名了導致一直wa。。。
ac**:
#include#includeview code#include
#include
using
namespace
std;
const
int maxn = 350
;const
int maxp = 2010
;const
int mod = 1e9+7
;typedef
long
long
ll;int
pri[maxp], cnt;
inta[maxp][maxn];
void
init()
}if(f) pri[cnt++] =i;
}}int add(int
k, ll val)
}return
row;
}ll mypow(ll a, ll n)
return
res;
}int gauss(int m, int
n)
}if(a[r][j])
for(int u=i+1;u)
} i++;
}j++;
}returni;}
intmain()
printf(
"case #%d:\n
", ++cas);
int r = gauss(row+1
, n);
printf(
"%lld\n
", mypow(2, n-r)-1
); }
return0;
}
題意:給n個禮物,每個禮物a[i]件,分配給學生,每人兩件。要求1件可以任意,另一件必須相鄰學生種類不同。求可以分出去的最大學生數量。
思路:分析一下可以發現,禮物能否發完只取決於最多數量的那種。先排序,如果最多的禮物減去總和的一半比剩下種類的禮物總數還要多,則能發出去的數量由剩下種類的禮物決定,即 (sum-a[n-1])*2+1。否則全部都能發出去,人數即為 sum/2。
#include#includeview code#include
using
namespace
std;
int a[12
];int
main()
sort(a, a+n);
printf(
"case #%d: %d\n
", ++cas, min(sum/2, (sum-a[n-1])*2+1
)); }
return0;
}
題意:給定空間中 n個點(n<=100),求滿足兩個條件的特殊四面體的個數。條件1:至少4條邊長度相同;條件2:如果只有4條邊長度相同,則剩下兩條邊不能相鄰。
思路:c(100, 4)不大,時限4s,暴力列舉即可。四個點不能共面,先求點積再叉積判斷是否為0,即四面體體積不能為0。
tm我再次敲錯了向量叉積函式cross。。。逐行debug才發現
ac**:
#include#includeview code#include
using
namespace
std;
struct
p p
operator-(const p&a)
p operator*(const p&b)
intdis()
void
print()
}p[210
];int cross(const p& a, const p&b)
intmain()
int ans = 0
;
for(int i=0;i)
} else }}
}}
}printf(
"case #%d: %d\n
", ++cas, ans);
}return0;
}
題意:給乙個字串,可以把每個字母對映到數字。問變換後的最長上公升子串行的長度是多少。
題解:顯然答案為不同字母的個數。
**:略。
2019CCPC網路選拔賽補題
hdu6703 題意就不說了,直接分析吧。對於1操作,a pos 1e7,但是我們每次詢問是 1,n 範圍內的,這個操作顯然就是把這個點給刪了。對於2操作,詢問 1,r 區間內 k且不等於a i 1 i r 的最小的數。題目做法如下 對位置建權值線段樹,每個結點表示乙個區間,每個結點維護乙個區間的位...
2020CCPC 網路選拔賽總結
因為半年內很久沒有練習,剛開始腦子宕機了十分鐘之後才開始做題。13mina了1010,28mina了1003,42mina了1007,109mina了1011,之後沒有過任何一道題。比賽過程中時間分配有問題,一直在1005上面鑽牛角尖,題沒搞明白也沒做出來,浪費了很多時間。題意 給定長度為n的01串...
2019CCPC網路選拔賽簽到題題解
因為實力不濟,沒能通過網路賽拿到晉級的名額,心情沉重,故作此文記錄本次網路賽的點滴收穫。其中包含1001 1006 shuffle card 1007 windows of ccpc 1008 fishing master的題解。題目傳送門 題目分析 要找到使 ax orc a xor c axor...