比赛链接:传送门

前期大顺风,2:30金区中游。后期开题乏力,掉到银尾。4:59绝杀I,但罚时太高卡在银首。


Problem A - Dogs and Cages 00:09:45 (+) Solved by Dancepted

算了半天发现就是n-1,被队友喷死,差点气哭。

Problem E - Evil Forest 00:16:54 (+) Solved by xk

xk大喊签到,就过了。

代码:

#include <iostream>
#include <cmath>
#include <map>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <set>
#include <vector>
#include <string>
#include <queue>
#include <stack>
#include <iomanip>
#define fast ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
#define N 100005
#define M 100005
#define INF 0x3f3f3f3f
#define mk(x) (1<<x) // be conscious if mask x exceeds int
#define sz(x) ((int)x.size())
#define upperdiv(a,b) (a/b + (a%b>0))
#define mp(a,b) make_pair(a, b)
#define endl '\n'
#define lowbit(x) (x&-x) using namespace std;
typedef long long ll;
typedef double db; /** fast read **/
template <typename T>
inline void read(T &x) {
x = ; T fg = ; char ch = getchar();
while (!isdigit(ch)) {
if (ch == '-') fg = -;
ch = getchar();
}
while (isdigit(ch)) x = x*+ch-'', ch = getchar();
x = fg * x;
}
template <typename T, typename... Args>
inline void read(T &x, Args &... args) { read(x), read(args...); }
template <typename T>
inline void write(T x) {
int len = ; char c[]; if (x < ) putchar('-'), x = -x;
do{++len; c[len] = x% + '';} while (x /= );
for (int i = len; i >= ; i--) putchar(c[i]);
}
template <typename T, typename... Args>
inline void write(T x, Args ... args) { write(x), write(args...); } int main() {
fast;
int T, kase = ;
cin >> T;
while (T--) {
int n;
cin >> n;
int ans = ;
for(int i = ; i < n; i++)
{
int x;
cin >> x;
ans += x + upperdiv(x, );
}
cout << "Case #" << (kase++) << ": " << ans << endl;
}
return ;
}

Problem C - Rich Game 00:32:42 (+) Solved by xk

xk又喊了一声签到!

代码:

#include <iostream>
#include <cmath>
#include <map>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <set>
#include <vector>
#include <string>
#include <queue>
#include <stack>
#include <iomanip>
#define fast ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
#define N 100005
#define M 100005
#define INF 0x3f3f3f3f
#define mk(x) (1<<x) // be conscious if mask x exceeds int
#define sz(x) ((int)x.size())
#define upperdiv(a,b) (a/b + (a%b>0))
#define mp(a,b) make_pair(a, b)
#define endl '\n'
#define lowbit(x) (x&-x) using namespace std;
typedef long long ll;
typedef double db; /** fast read **/
template <typename T>
inline void read(T &x) {
x = ; T fg = ; char ch = getchar();
while (!isdigit(ch)) {
if (ch == '-') fg = -;
ch = getchar();
}
while (isdigit(ch)) x = x*+ch-'', ch = getchar();
x = fg * x;
}
template <typename T, typename... Args>
inline void read(T &x, Args &... args) { read(x), read(args...); }
template <typename T>
inline void write(T x) {
int len = ; char c[]; if (x < ) putchar('-'), x = -x;
do{++len; c[len] = x% + '';} while (x /= );
for (int i = len; i >= ; i--) putchar(c[i]);
}
template <typename T, typename... Args>
inline void write(T x, Args ... args) { write(x), write(args...); } int main() {
fast;
int T, kase = ;
cin >> T;
while (T--) {
int x, y, k;
cin >> x >> y >> k;
int money = , ans = ;
if(x > y) ans = k;
else
{
for(int i = ; i < k; i++)
{
if(money + * x >= * y) {
money += * x - * y;
ans++;
}
else {
money += * x;
}
}
}
cout << "Case #" << (kase++) << ": " << ans << endl;
}
return ;
}

Problem K - Knightmare 00:46:33 (+) Solved by Dancepted

步数较少的时候可以往回走,把没走过的地方填上,步数增长到一定程度时,答案差不多会均匀增长。

我猜测是小数据打表,大数据是个公式之类的。

开完A趁电脑没人就打了个表,发现和我的猜测是一致的,果断交了一发就过了。

代码:

#include <iostream>
#include <cmath>
#include <map>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <set>
#include <stdio.h>
#include <utility>
#include <vector>
#include <string>
#include <queue>
#include <stack>
#include <iomanip>
#define fast ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
#define N 1005
#define M 100005
#define INF 0x3f3f3f3f
#define mk(x) (1<<x) // be conscious if mask x exceeds int
#define sz(x) ((int)x.size())
#define upperdiv(a,b) (a/b + (a%b>0))
#define mp(a,b) make_pair(a, b)
#define endl '\n'
#define lowbit(x) (x&-x) using namespace std;
typedef __int128 ll;
typedef double db; /** fast read **/
template <typename T>
inline void read(T &x) {
x = ; T fg = ; char ch = getchar();
while (!isdigit(ch)) {
if (ch == '-') fg = -;
ch = getchar();
}
while (isdigit(ch)) x = x*+ch-'', ch = getchar();
x = fg * x;
}
template <typename T, typename... Args>
inline void read(T &x, Args &... args) { read(x), read(args...); }
template <typename T>
inline void write(T x) {
int len = ; char c[]; if (x < ) putchar('-'), x = -x;
do{++len; c[len] = x% + '';} while (x /= );
for (int i = len; i >= ; i--) putchar(c[i]);
}
template <typename T, typename... Args>
inline void write(T x, Args ... args) { write(x), write(args...); } const int ans[] = {, , , , , };
int main() {
int T; cin >> T;
int kase = ;
while (T--) {
ll n; read(n);
printf("Case #%d: ", kase++);
if (n <= ) {
write(ans[n]);
}
else {
ll res = * n * n - * n + ;
write(res);
}
putchar('\n');
} return ;
}

Problem J - Subway Chasing 01:42:00 (+) Solved by xk & lh

好像是差分约束什么的。图论这种事相信队友就完了。

代码:

#include <iostream>
#include <cmath>
#include <map>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <set>
#include <vector>
#include <string>
#include <queue>
#include <stack>
#include <iomanip>
#define fast ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
#define N 100005
#define M 100005
#define INF 0x3f3f3f3f
#define mk(x) (1<<x) // be conscious if mask x exceeds int
#define sz(x) ((int)x.size())
#define upperdiv(a,b) (a/b + (a%b>0))
#define mp(a,b) make_pair(a, b)
#define endl '\n'
#define lowbit(x) (x&-x) using namespace std;
typedef long long ll;
typedef double db; /** fast read **/
template <typename T>
inline void read(T &x) {
x = ; T fg = ; char ch = getchar();
while (!isdigit(ch)) {
if (ch == '-') fg = -;
ch = getchar();
}
while (isdigit(ch)) x = x*+ch-'', ch = getchar();
x = fg * x;
}
template <typename T, typename... Args>
inline void read(T &x, Args &... args) { read(x), read(args...); }
template <typename T>
inline void write(T x) {
int len = ; char c[]; if (x < ) putchar('-'), x = -x;
do{++len; c[len] = x% + '';} while (x /= );
for (int i = len; i >= ; i--) putchar(c[i]);
}
template <typename T, typename... Args>
inline void write(T x, Args ... args) { write(x), write(args...); } const int maxn = + ; struct edge
{
int v, l;
}; ll dis[maxn];
int cnt[maxn];
bool inq[maxn];
vector<edge> g[maxn]; void addedge(int u, int v, int l)
{
g[u].push_back(edge{v, l});
// g[v].push_back(edge{u, l});
} int n, m, x; bool spfa()
{
queue<int> q;
dis[] = ;
q.push();
cnt[] = inq[] = ;
while(!q.empty())
{
int u = q.front();
inq[u] = ;
q.pop();
for(auto &e : g[u])
{
if(dis[e.v] > dis[u] + e.l)
{
dis[e.v] = dis[u] + e.l; if(!inq[e.v]) {
cnt[e.v]++;
if(cnt[e.v] >= n) return false;
q.push(e.v);
inq[e.v] = ;
}
}
}
}
return true;
} int main()
{
fast;
int T, kase = ;
cin >> T;
while (T--)
{
cin >> n >> m >> x;
for(int i = ; i <= n; i++)
{
g[i].clear();
dis[i] = 1e18;
cnt[i] = inq[i] = ;
}
for(int i = ; i < n; i++)
{
addedge(i+, i, -);
addedge(i, i+, 2e9);
}
for(int i = ; i < m; i++)
{
int a, b, c, d;
cin >> a >> b >> c >> d;
if(a == b)
{
if(c == d)
{
addedge(a, c, x);
addedge(c, a, -x);
}
else
{
addedge(a, c, x - );
addedge(d, a, -x - );
}
}
else
{
if(c == d)
{
addedge(b, c, x - );
addedge(c, a, -x - );
}
else
{
addedge(b, c, x - );
addedge(d, a, -x - );
}
}
}
cout << "Case #" << (kase++);
if(!spfa()) cout << " IMPOSSIBLE\n";
else {
for(int i = ; i <= n; i++)
cout << ' ' << dis[i] - dis[i - ];
cout << endl;
}
}
return ;
}

Problem G - Alice’s Stamps 02:24:14 (-2) Solved by Dancepted (dp)

上机的时候思路有乱,调出来之后交上去因为N开大了MLE返回CE,贡献了两发罚时。

dfs枚举当前搜索过的最右端点和剩下的k的数量,记忆化一下,状态数最多就$O(n^{2})$。

HDU的T组数据比较玄学,差点没敢交。

代码:$O(n^{2})$

#include <iostream>
#include <cmath>
#include <map>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <set>
#include <vector>
#include <string>
#include <queue>
#include <stack>
#include <iomanip>
#define fast ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
#define N 2005
#define M 100005
#define INF 0x3f3f3f3f
#define mk(x) (1<<x)
#define sz(x) ((int)x.size())
#define upperdiv(a,b) (a/b + (a%b>0))
#define mp(a,b) make_pair(a, b)
#define endl '\n'
#define lowbit(x) (x&-x) using namespace std;
typedef long long ll;
typedef double db; /** fast read **/
template <typename T>
inline void read(T &x) {
x = ; T fg = ; char ch = getchar();
while (!isdigit(ch)) {
if (ch == '-') fg = -;
ch = getchar();
}
while (isdigit(ch)) x = x*+ch-'', ch = getchar();
x = fg * x;
}
template <typename T, typename... Args>
inline void read(T &x, Args &... args) { read(x), read(args...); }
template <typename T>
inline void write(T x) {
int len = ; char c[]; if (x < ) putchar('-'), x = -x;
do{++len; c[len] = x% + '';} while (x /= );
for (int i = len; i >= ; i--) putchar(c[i]);
}
template <typename T, typename... Args>
inline void write(T x, Args ... args) { write(x), write(args...); } struct Node{
int l, r;
bool operator < (const Node& x) const {
if (r == x.r) {
return l < x.l;
}
return r < x.r;
}
}; int n, m, k;
vector<Node> ns, ns1;
int ans = ;
int f[N][N];
int dfs(int id, int r, int cnt, int resk) {
if (f[r][resk]) {
return f[r][resk];
}
if (resk == ) {
return ;
}
if (id >= sz(ns)) {
return ;
}
int tmp = dfs(id+, r, cnt, resk);
tmp = max(tmp, ns[id].r - max(ns[id].l-, r) + dfs(id+, ns[id].r, cnt + ns[id].r - max(ns[id].l-, r), resk-));
ans = max(ans, cnt + tmp);
return f[r][resk] = tmp;
}
bool ok[N];
int l[N], r[N];
int main() {
int T, kase = ;
cin >> T;
while (T--) {
ns.clear(), ns1.clear();
read(n, m, k);
for (int i = ; i <= m; i++) {
read(l[i], r[i]);
ok[i] = true;
}
for (int i = ; i <= m; i++) {
for (int j = ; j <= m; j++) if (i != j) {
if (l[i] < l[j] && r[j] <= r[i]) {
ok[j] = false;
}
}
}
for (int i = ; i <= m; i++) if (ok[i]) {
ns.push_back(Node{l[i], r[i]});
}
sort(ns.begin(), ns.end()); // init();
ans = ;
for (int i = ; i <= n; i++) {
for (int j = ; j <= k; j++) {
f[i][j] = ;
}
}
dfs(, , , k);
printf("Case #%d: %d\n", kase++, ans);
}
return ;
}

题解的做法是一个很好写的dp:

$f_{i, j}$表示最右边的覆盖点是i的情况下,用了j个集合的最大覆盖长度。

代码:$O(n^{2})$

#include <iostream>
#include <cmath>
#include <map>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <set>
#include <vector>
#include <string>
#include <queue>
#include <stack>
#include <iomanip>
#define fast ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
#define N 2005
#define M 100005
#define INF 0x3f3f3f3f
#define mk(x) (1<<x) // be conscious if mask x exceeds int
#define sz(x) ((int)x.size())
#define upperdiv(a,b) (a/b + (a%b>0))
#define mp(a,b) make_pair(a, b)
#define endl '\n'
#define lowbit(x) (x&-x) using namespace std;
typedef long long ll;
typedef double db; /** fast read **/
template <typename T>
inline void read(T &x) {
x = ; T fg = ; char ch = getchar();
while (!isdigit(ch)) {
if (ch == '-') fg = -;
ch = getchar();
}
while (isdigit(ch)) x = x*+ch-'', ch = getchar();
x = fg * x;
}
template <typename T, typename... Args>
inline void read(T &x, Args &... args) { read(x), read(args...); }
template <typename T>
inline void write(T x) {
int len = ; char c[]; if (x < ) putchar('-'), x = -x;
do{++len; c[len] = x% + '';} while (x /= );
for (int i = len; i >= ; i--) putchar(c[i]);
}
template <typename T, typename... Args>
inline void write(T x, Args ... args) { write(x), write(args...); } int mxr[N];
int f[N][N];
int main() {
int T; cin >> T;
for (int kase = ; kase <= T; kase++) {
int n, m, k; read(n, m, k);
memset(mxr, , (n+) * sizeof(int));
for (int i = ; i <= n; i++) {
for (int j = ; j <= k; j++) {
f[i][j] = ;
}
}
for (int i = ; i <= m; i++) {
int l, r; read(l, r);
mxr[l] = max(mxr[l], r);
}
int ans = , r = ;
for (int i = ; i <= n; i++) {
r = max(mxr[i], r);
for (int j = ; j <= k; j++) {
f[i][j] = max(f[i][j], f[i-][j]);
ans = max(ans, f[i][j]);
if (j+ <= k)
f[r][j+] = max(f[r][j+], f[i-][j] + r - i + ),
ans = max(ans, f[r][j+]);
}
}
printf("Case #%d: %d\n", kase, ans);
}
return ;
}

Problem I - Inkopolis 04:59:59 (-3) Solved by Dancepted & xk

中午还在看的基环树下午就用到了。

先考虑树上的情况。会影响答案的部分只有修改颜色之前的颜色$color_{pre}$,和之后的颜色$color_{now}$两种。看是否会新增、删除color region,或者合并、分割原来的color region。

再考虑环上的情况。同上。特别地:如果整个环都是同一种颜色,修改了颜色不会分割原来的color region;如果整个环除了修改的边都是$color_{now}$,则修改颜色不会合并color region。

计算节日开始前各街道的颜色,可以模仿修改的操作,一条条边加入就行了。

实现的时候先把环扣出来,统计一下环各颜色的边数量。用个map保存每个点相邻的各颜色的数量。再用map保存每条边的颜色。

然后扫一遍所有的边先计算初始情况下的region的数量sum,然后一次次修改边的颜色,更新sum就好了。

代码:O(nlogn)

#include <iostream>
#include <cmath>
#include <map>
#include <algorithm>
#include <cstdio>
#include <cstring>
#include <set>
#include <vector>
#include <string>
#include <queue>
#include <stack>
#include <iomanip>
#define fast ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
#define N 200005
#define M 200005
#define INF 0x3f3f3f3f
#define mk(x) (1<<x) // be conscious if mask x exceeds int
#define sz(x) ((int)x.size())
#define upperdiv(a,b) (a/b + (a%b>0))
#define mp(a,b) make_pair(a, b)
#define endl '\n'
#define lowbit(x) (x&-x) using namespace std;
typedef long long ll;
typedef double db; /** fast read **/
template <typename T>
inline void read(T &x) {
x = ; T fg = ; char ch = getchar();
while (!isdigit(ch)) {
if (ch == '-') fg = -;
ch = getchar();
}
while (isdigit(ch)) x = x*+ch-'', ch = getchar();
x = fg * x;
}
template <typename T, typename... Args>
inline void read(T &x, Args &... args) { read(x), read(args...); }
template <typename T>
inline void write(T x) {
int len = ; char c[]; if (x < ) putchar('-'), x = -x;
do{++len; c[len] = x% + '';} while (x /= );
for (int i = len; i >= ; i--) putchar(c[i]);
}
template <typename T, typename... Args>
inline void write(T x, Args ... args) { write(x), write(args...); } int tot;
int head[N], nxt[N<<], ver[N<<], col[N<<];
void addEdge(int u, int v, int c) {
nxt[tot] = head[u], ver[tot] = v, col[tot] = c, head[u] = tot++;
} int iscir[N], cirlen;
bool vis[N];
int getCir(int u, int fa, int& rt) {
vis[u] = true;
for (int i = head[u]; i != -; i = nxt[i]) {
int v = ver[i];
if (v == fa) continue;
if (vis[v]) {
rt = v;
iscir[u] = ;
cirlen++;
return ;
}
else {
int tmpcir = getCir(v, u, rt);
if (tmpcir) {
iscir[u] = tmpcir;
cirlen++;
return u != rt;
}
}
}
return ;
} int cnt[N];
int sum;
map<int, int> mp[N];
map<pair<int,int>, int> uv_col; void update(int u, int v, int ccur, bool ifprint) {
if (u > v) swap(u, v);
int cpre = uv_col[mp(u, v)];
if (cpre == ccur) {
if (ifprint)
printf("%d\n", sum);
return;
}
if (!iscir[u] || !iscir[v]) {
//on tree
if (mp[u][cpre] >= && mp[v][cpre] >= ) {
sum++;
}
if (mp[u][cpre] == && mp[v][cpre] == ) {
sum--;
}
if (mp[u][ccur] && mp[v][ccur]) {
sum--;
}
if (!mp[u][ccur] && !mp[v][ccur]) {
sum++;
}
}
else {
//on circle
if (mp[u][cpre] >= && mp[v][cpre] >= ) {
if (cnt[cpre] != cirlen)
sum++;
}
if (mp[u][cpre] == && mp[v][cpre] == ) {
sum--;
}
if (mp[u][ccur] && mp[v][ccur]) {
if (cnt[ccur] != cirlen-)
sum--;
}
if (!mp[u][ccur] && !mp[v][ccur]) {
sum++;
} if (cpre != -)
cnt[cpre]--;
cnt[ccur]++;
}
uv_col[mp(u, v)] = ccur;
if (cpre != -) {
mp[u][cpre]--;
mp[v][cpre]--;
}
mp[u][ccur]++;
mp[v][ccur]++;
if (ifprint)
printf("%d\n", sum);
} int main() {
int T;
cin >> T;
for (int kase = ; kase <= T; kase++) {
int n, m; read(n, m);
// init
uv_col.clear();
for (int i = ; i <= n; i++) {
mp[i].clear();
}
tot = ;
memset(head, -, (n+) * sizeof(int)); // input and count colors on every edge
for (int i = ; i <= n; i++) {
int u, v, c; read(u, v, c);
addEdge(u, v, c);
addEdge(v, u, c);
if (u > v)
swap(u, v);
uv_col[mp(u, v)] = -;
// mp[u][c]++; mp[v][c]++;
}
// get circle
int rt = -;
memset(vis, false, (n+) * sizeof(bool));
memset(iscir, , (n+) * sizeof(int));
cirlen = ;
getCir(, -, rt);
// count colors on circle
memset(cnt, , (n+) * sizeof(int));
sum = ;
for (int i = ; i < n; i++) {
int u = ver[i<<], v = ver[i<<|], ccur = col[i<<];
update(u, v, ccur, false);
} printf("Case #%d:\n", kase);
for (int i = ; i <= m; i++) {
int u, v, ccur; read(u, v, ccur);
update(u, v, ccur, true);
}
}
return ;
}
/*
11111
5 10
1 5 1
2 5 1
3 5 1
4 5 1
1 2 1
1 2 1 2
4 4
1 2 1
2 3 1
3 4 1
4 1 1
1 2 2
3 4 2
2 3 2
4 1 4
4 3
4 2 4
2 3 3
3 4 2
1 4 1
3 4 2
2 3 4
3 4 3
*/

总结:

本场能绝杀还是有点运气成分在的,而且现场赛的话最后几分钟可能就交不上题了也可能。不过绝杀也不影响苟在银牌,问题不大。

然后最近的几场好像都是我在贡献罚时,感觉码力出现了一些小小的问题。这两天要小心一点。

然后还有两周可能就要退役了,模拟赛还没有进过金区感觉很难受啊,打成这个样子还怎么冲金啊qaq。

模拟赛小结:2017 China Collegiate Programming Contest Final (CCPC-Final 2017)的更多相关文章

  1. The 2017 China Collegiate Programming Contest, Hangzhou Site Solution

    A: Super_palindrome 题面:给出一个字符串,求改变最少的字符个数使得这个串所有长度为奇数的子串都是回文串 思路:显然,这个字符串肯定要改成所有奇数位相同并且所有偶数位相同 那统计一下 ...

  2. 2017 China Collegiate Programming Contest Final (CCPC 2017)

    题解右转队伍wiki https://acm.ecnu.edu.cn/wiki/index.php?title=2017_China_Collegiate_Programming_Contest_Fi ...

  3. The 2015 China Collegiate Programming Contest A. Secrete Master Plan hdu5540

    Secrete Master Plan Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Othe ...

  4. The 2015 China Collegiate Programming Contest Game Rooms

    Game Rooms Time Limit: 4000/4000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submi ...

  5. 2016 China Collegiate Programming Contest Final

    2016 China Collegiate Programming Contest Final Table of Contents 2016 China Collegiate Programming ...

  6. 2018 China Collegiate Programming Contest Final (CCPC-Final 2018)-K - Mr. Panda and Kakin-中国剩余定理+同余定理

    2018 China Collegiate Programming Contest Final (CCPC-Final 2018)-K - Mr. Panda and Kakin-中国剩余定理+同余定 ...

  7. 模拟赛小结:The 2019 China Collegiate Programming Contest Harbin Site

    比赛链接:传送门 上半场5题,下半场疯狂挂机,然后又是差一题金,万年银首也太难受了. (每次银首都会想起前队友的灵魂拷问:你们队练习的时候进金区的次数多不多啊?) Problem J. Justify ...

  8. 模拟赛小结:2018 China Collegiate Programming Contest Final (CCPC-Final 2018)

    比赛链接:传送门 跌跌撞撞6题摸银. 封榜后两题,把手上的题做完了还算舒服.就是罚时有点高. 开出了一道奇奇怪怪的题(K),然后ccpcf银应该比区域赛银要难吧,反正很开心qwq. Problem A ...

  9. The 2019 China Collegiate Programming Contest Harbin Site F. Fixing Banners

    链接: https://codeforces.com/gym/102394/problem/F 题意: Harbin, whose name was originally a Manchu word ...

随机推荐

  1. Python:Base3(函数,切片,迭代,列表生成式)

    1.Python之调用函数: Python内置了很多有用的函数,我们可以直接调用. 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数 abs,它接收一个参数. 可以直接从Python的官方 ...

  2. GitLab 架构

    GitLab 架构官方文档 GitLab 中文文档 版本 一般使用的是社区版(Community Edition,CE),此外还有企业版(Enterprise Edition,EE)可以使用. EE ...

  3. C#中StringBuilder类的使用总结

    String 对象是不可改变的.每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间.在需要对字符串执行重复修改的情况下,与创建新 ...

  4. CISCO路由器WAN口动态ISP配置

        Building configuration... version 15.0 service timestamps debug datetime msec service timestamps ...

  5. iOS 12.4 越狱已经发布

    昨天 unc0ver 3.5.0 发布,支持 iOS 12.4 越狱.12.4 目前为最新版的系统. 下载地址:https://github.com/pwn20wndstuff/Undecimus/r ...

  6. iframe在firefox下的无法正常target问题

    今日在改一个网站的时候碰到个奇葩的问题. 把网站按照结构划分,做了个主页面,嵌入iframe,设定该iframe的name,主页面上的链接使用target保证在iframe中打开该链接. 听上去很常规 ...

  7. 如何获取字符串中某个具体的数值--通过json.load转化成字典形式获取

    r=requests.get('http://httpbin.org/get').text print(r) # print(type(r)) # 如果要获取User-Agent的详细数值,需要做JS ...

  8. 使用mvn archetype:generate快速建立Maven项目目录结构

    1.mvn archetype:generate  按照提示进行选择,默认选的话可以直接按回车键 2.mvn archetype:generate -DgroupId=组织名,公司网址的反写+项目名 ...

  9. java解析json字符串详解(两种方法)

    一.使用JSONObject来解析JSON数据官方提供的,所以不需要导入第三方jar包:直接上代码,如下 private void parseJSONWithJSONObject(String Jso ...

  10. Django中ajax发送post请求,报403错误CSRF验证失败解决办法

    今天学习Django框架,用ajax向后台发送post请求,直接报了403错误,说CSRF验证失败:先前用模板的话都是在里面加一个 {% csrf_token %} 就直接搞定了CSRF的问题了:很显 ...