2017-2018 ACM-ICPC, NEERC, Northern Subregional Contest
A. Auxiliary Project
完全背包。
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<string>
#include<ctype.h>
#include<math.h>
#include<set>
#include<map>
#include<vector>
#include<queue>
#include<bitset>
#include<algorithm>
#include<time.h>
using namespace std;
void fre() { }
#define MS(x, y) memset(x, y, sizeof(x))
#define ls o<<1
#define rs o<<1|1
typedef long long LL;
typedef unsigned long long UL;
typedef unsigned int UI;
template <class T1, class T2>inline void gmax(T1 &a, T2 b) { if (b > a)a = b; }
template <class T1, class T2>inline void gmin(T1 &a, T2 b) { if (b < a)a = b; }
const int N = 0, M = 0, Z = 1e9 + 7, inf = 0x3f3f3f3f;
template <class T1, class T2>inline void gadd(T1 &a, T2 b) { a = (a + b) % Z; }
int casenum, casei;
int n;
int f[1000005];
int g[10] = {6, 2, 5, 5, 4, 5, 6, 3, 7, 6};
int main()
{
freopen("auxiliary.in", "r", stdin);
freopen("auxiliary.out", "w", stdout);
while(~scanf("%d",&n))
{
MS(f, -1);
f[0] = 0;
for(int i = 0; i <= n; ++i)
{
for(int j = 0; j < 10; ++j)
{
if(i - g[j] >= 0 && f[i - g[j]] >= 0)
{
gmax(f[i], f[i - g[j]] + j);
}
}
}
printf("%d\n", f[n]);
}
return 0;
} /*
【trick&&吐槽】 【题意】 【分析】 【时间复杂度&&优化】 */
B. Boolean Satisfiability
设$t$为出现过的变量个数,若同时存在某个变量以及其反变量,则答案为$2^t$,否则答案为$2^t-1$。
#include<cstdio>
#include<cstring>
typedef long long ll;
const int N=100010;
bool v[N],neg[N];
char s[N];
int n,i;
int main(){
freopen("boolean.in", "r", stdin);
freopen("boolean.out", "w", stdout);
scanf("%s",s+1);
n=strlen(s+1);
for(i=1;i<=n;){
if(s[i]=='|')i++;
else if(s[i]=='~'){
neg[s[i+1]]=1;
i+=2;
}else{
v[s[i]]=1;
i++;
}
}
ll ans=1,flag=1;
for(i=1;i<N;i++){
if(v[i]||neg[i])ans*=2;
if(v[i]&&neg[i])flag=0;
}
printf("%I64d",ans-flag);
}
C. Consonant Fencity
$O(2^{19})$枚举所有辅音字母的大小写即可。
#include<cstdio>
#include<cstring>
typedef long long ll;
const int N=1000010;
char s[N];
int n,i,j,mx,now,ans,S;
bool is[26],big[26];
int g[26][26],w[26][26],q[26],m;
int main(){
freopen("consonant.in", "r", stdin);
freopen("consonant.out", "w", stdout);
scanf("%s",s);
n=strlen(s);
for(i=1;i<n;i++){
g[s[i-1]-'a'][s[i]-'a']++;
}
is['a'-'a']=1;
is['e'-'a']=1;
is['i'-'a']=1;
is['o'-'a']=1;
is['u'-'a']=1;
is['w'-'a']=1;
is['y'-'a']=1;
for(i=0;i<26;i++)if(!is[i])q[m++]=i;
for(i=0;i<26;i++)for(j=0;j<26;j++){
if(is[i]||is[j])g[i][j]=0;
}
for(i=0;i<m;i++)for(j=0;j<m;j++)w[i][j]=g[q[i]][q[j]];
for(S=0;S<1<<m;S++){
now=0;
for(i=0;i<m;i++)for(j=0;j<m;j++)if(((S>>i)^(S>>j))&1)now+=w[i][j];
if(now>mx)mx=now,ans=S;
}
//printf("mx=%d\n",mx);
S=ans;
for(i=0;i<26;i++)big[i]=0;
for(i=0;i<m;i++)if(S>>i&1)big[q[i]]=1;
for(i=0;i<n;i++)if(big[s[i]-'a'])putchar(s[i]-'a'+'A');else putchar(s[i]);
}
D. Dividing Marbles
留坑。
E. Equal Numbers
令$goal=lcm(a_1,a_2,...,a_n)$,那么对于每种数,可以变成另一个存在的倍数,或者直接变成$goal$。
按照代价从小到大合并即可。
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<string>
#include<ctype.h>
#include<math.h>
#include<set>
#include<map>
#include<vector>
#include<queue>
#include<bitset>
#include<algorithm>
#include<time.h>
using namespace std;
void fre() { }
#define MS(x, y) memset(x, y, sizeof(x))
#define ls o<<1
#define rs o<<1|1
typedef long long LL;
typedef unsigned long long UL;
typedef unsigned int UI;
template <class T1, class T2>inline void gmax(T1 &a, T2 b) { if (b > a)a = b; }
template <class T1, class T2>inline void gmin(T1 &a, T2 b) { if (b < a)a = b; }
const int N = 1e6 + 10, M = 0, Z = 1e9 + 7, inf = 0x3f3f3f3f;
template <class T1, class T2>inline void gadd(T1 &a, T2 b) { a = (a + b) % Z; }
int casenum, casei;
int n;
map<int, int>mop;
vector<int>vt[2];
int f[N];
int main()
{
freopen("equal.in", "r", stdin);
freopen("equal.out", "w", stdout);
while(~scanf("%d",&n))
{
mop.clear();
for(int i = 1; i <= n; ++i)
{
int x;
scanf("%d", &x);
++mop[x];
}
int top = 1e6;
for(int i = 0; i <= 1; ++i)vt[i].clear();
for(auto it : mop)
{
int i = it.first;
vt[0].push_back(it.second);
for(int j = i + i; j <= top; j += i)if(mop.count(j))
{
vt[1].push_back(it.second);
break;
}
}
int ans = mop.size();
MS(f, 63); f[0] = ans; int sum = 0;
int sz = vt[1].size();
sort(vt[1].begin(), vt[1].end());
for(int j = 0; j < sz; ++j)
{
sum += vt[1][j];
gmin(f[sum], ans - j - 1);
} sum = 0;
sz = vt[0].size();
sort(vt[0].begin(), vt[0].end());
for(int j = 0; j < sz; ++j)
{
sum += vt[0][j];
gmin(f[sum], ans - j);
} for(int i = 0; i <= n; ++i)
{
if(i)gmin(f[i], f[i - 1]);
printf("%d ", f[i]);
}
puts("");
}
return 0;
} /*
【trick&&吐槽】
6
3 4 1 2 1 2 【题意】 【分析】 【时间复杂度&&优化】 */
F. Fygon 2.0
建立有向图,边$a\rightarrow b$表示$a\leq b$,那么每个SCC中的变量都要相等。
缩完点之后得到一个$n$个点的DAG,那么在渐进意义下,去掉等号时间复杂度不变,总复杂度为$n!$,而实际复杂度为拓扑序的个数,状压DP即可。
时间复杂度$O(n2^n)$。
#include<cstdio>
typedef long long ll;
const int N=50;
int n,m,i,j,k;
int g[N][N],f[N],e[N];
char s[100];
int vis[500],mark[N];
ll dp[1<<20];
inline int id(char x){
if(x=='1')return -1;
if(x=='n')return -1;
if(vis[x]==-1)vis[x]=m++;
return vis[x];
}
inline void add(int x,int y){//x<=y
if(x<0||y<0)return;
g[x][y]=1;
}
int F(int x){return f[x]==x?x:f[x]=F(f[x]);}
inline void merge(int x,int y){
if(F(x)!=F(y))f[f[x]]=f[y];
}
ll gcd(ll a,ll b){return b?gcd(b,a%b):a;}
int main(){
freopen("fygon20.in", "r", stdin);
freopen("fygon20.out", "w", stdout);
scanf("%d",&n);
n--;
for(i=0;i<500;i++)vis[i]=-1;
while(n--){
scanf("%s",s);//for
scanf("%s",s);
int A=id(s[0]);
scanf("%s",s);//in
scanf("%s",s);
int L=id(s[6]);
scanf("%s",s);
int R=id(s[0]);
add(L,A);
add(A,R);
}
for(k=0;k<m;k++)for(i=0;i<m;i++)for(j=0;j<m;j++)g[i][j]|=g[i][k]&&g[k][j];
for(i=0;i<m;i++)f[i]=i;
for(i=0;i<m;i++)for(j=0;j<m;j++)if(g[i][j]&&g[j][i])merge(i,j);
for(i=0;i<m;i++)mark[i]=-1;
n=0;
for(i=0;i<m;i++)if(mark[F(i)]<0){
mark[f[i]]=n++;
}
for(i=0;i<m;i++)for(j=0;j<m;j++)if(mark[f[i]]!=mark[f[j]]&&g[i][j])e[mark[f[i]]]|=1<<mark[f[j]];
dp[0]=1;
for(i=0;i<1<<n;i++)if(dp[i])for(j=0;j<n;j++)if(!(i>>j&1)&&!(e[j]&i))dp[i|(1<<j)]+=dp[i];
ll U=dp[(1<<n)-1],D=1;
for(i=2;i<=n;i++)D*=i;
ll gc=gcd(U,D);
U/=gc,D/=gc;
printf("%d %lld/%lld",n,U,D);
}
/*
2
for i in range(1, n):
lag 4
for i in range(1, n):
for j in range(1, i):
for k in range(j, j):
lag 4
for i in range(1, n):
for j in range(1, i):
for k in range(i, j):
lag
*/
G. Grand Test
求出DFS树,对于一条非树边$(u,v)$,暴力将$u$到$v$路径上的树边染上这条非树边的颜色。
若一条树边被染了两次色,则说明对应的两个简单环有公共边。
仅保留两个简单环,任取两个度数至少为$3$的点作为起点和终点,然后爆搜出所有路径即可,一定恰好有$3$条简单路径。
时间复杂度$O(n+m)$。
#include<cstdio>
#include<algorithm>
#include<set>
using namespace std;
typedef pair<int,int>P;
const int N=100010,M=200010;
int Case,n,m,i,x,y,g[N],v[M<<1],nxt[M<<1],ed;
int vis[N],dfn,flag,f[N],d[N];
P col[N],A,B;
int S,T,p[N];
set<P>e;
inline void add(int x,int y){
d[x]++;
v[++ed]=y;nxt[ed]=g[x];g[x]=ed;
}
void dfs(int x,int y){
f[x]=y;
vis[x]=++dfn;
for(int i=g[x];i;i=nxt[i]){
int u=v[i];
if(u==y)continue;
if(!vis[u]){
dfs(u,x);
}else if(vis[u]<vis[x]){
int j=x;
if(flag)continue;
while(j!=u){
if(col[j].first){
flag=1;
A=P(x,u);//down up
B=col[j];
break;
}
col[j]=P(x,u);
j=f[j];
}
}
}
}
inline void push(int x,int y){
if(x>y)swap(x,y);
e.insert(P(x,y));
}
inline void go(int x,int y){
push(x,y);
while(x!=y){
push(x,f[x]);
x=f[x];
}
}
void dfs2(int x,int y,int z){
p[z]=x;
if(x==T){
printf("%d",z);
for(int i=1;i<=z;i++)printf(" %d",p[i]);
puts("");
return;
}
for(int i=g[x];i;i=nxt[i])if(v[i]!=y)dfs2(v[i],x,z+1);
}
void solve(){
scanf("%d%d",&n,&m); for(i=1;i<=n;i++)g[i]=vis[i]=f[i]=0;
ed=dfn=flag=0;
for(i=1;i<=n;i++)col[i]=P(0,0); while(m--){
scanf("%d%d",&x,&y);
add(x,y);
add(y,x);
}
for(i=1;i<=n;i++)if(!vis[i]){
dfs(i,0);
}
if(!flag){
puts("-1");
return;
}
e.clear();
go(A.first,A.second);
go(B.first,B.second);
for(i=1;i<=n;i++)g[i]=d[i]=0;
ed=0;
for(set<P>::iterator it=e.begin();it!=e.end();it++){
x=it->first;
y=it->second;
add(x,y);
add(y,x);
}
S=T=0;
for(i=1;i<=n;i++)if(d[i]>2){
if(!S)S=i;
else T=i;
}
printf("%d %d\n",S,T);
dfs2(S,0,1);
}
int main(){
freopen("grand.in", "r", stdin);
freopen("grand.out", "w", stdout);
scanf("%d",&Case);
while(Case--)solve();
}
/*
6 6
3 6
3 4
1 4
1 2
1 3
2 3
*/
H. Hidden Supervisors
贪心求出每个连通块的最大匹配、根的匹配情况以及内部还未匹配的点数。
对于所有根已经匹配的连通块,将其直接连到$1$上最优。
对于剩下的连通块,按内部未匹配点数从大到小依次贪心连边即可。
时间复杂度$O(n\log n)$。
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<string>
#include<ctype.h>
#include<math.h>
#include<set>
#include<map>
#include<vector>
#include<queue>
#include<bitset>
#include<algorithm>
#include<time.h>
using namespace std;
void fre() { }
#define MS(x, y) memset(x, y, sizeof(x))
#define ls o<<1
#define rs o<<1|1
typedef long long LL;
typedef unsigned long long UL;
typedef unsigned int UI;
template <class T1, class T2>inline void gmax(T1 &a, T2 b) { if (b > a)a = b; }
template <class T1, class T2>inline void gmin(T1 &a, T2 b) { if (b < a)a = b; }
const int N = 1e5 + 10, M = 0, Z = 1e9 + 7, inf = 0x3f3f3f3f;
template <class T1, class T2>inline void gadd(T1 &a, T2 b) { a = (a + b) % Z; }
int casenum, casei;
int n;
int fa[N];
int match[N];
vector<int>son[N];
vector<int>nomatch;
int ANS;
void dfs(int x)
{
match[x] = 0;
for(auto y : son[x])
{
dfs(y);
if(!match[y] && !match[x])
{
match[y] = x;
match[x] = y;
++ANS;
}
if(!match[y])nomatch.push_back(y);
}
}
struct A
{
int sz;
int rt;
vector<int>vt;
bool operator < (const A & b)const
{
return sz > b.sz;
}
}a[N];
int main()
{
freopen("hidden.in", "r", stdin);
freopen("hidden.out", "w", stdout);
while(~scanf("%d",&n))
{
vector<int>rt;
rt.push_back(1);
for(int i = 1; i <= n; ++i)
{
son[i].clear();
}
for(int i = 2; i <= n; ++i)
{
scanf("%d", &fa[i]);
if(fa[i] == 0)
{
rt.push_back(i);
}
else
{
son[fa[i]].push_back(i);
}
} ANS = 0;
int rtsz = rt.size();
int g = 0;
vector<int>one;
for(int i = 0; i < rtsz; ++i)
{
nomatch.clear();
int x = rt[i];
dfs(x);
if(x == 1 || match[x])
{
fa[x] = 1;
for(auto y : nomatch)
{
one.push_back(y);
}
if(x == 1 && !match[1])
{
one.push_back(1);
}
}
else
{
++g;
a[g].sz = nomatch.size();
a[g].rt = x;
a[g].vt = nomatch;
}
}
sort(a + 1, a + g + 1);
//
//printf("treenum = %d\n", g);
//
for(int i = 1; i <= g; ++i)
{
int x = a[i].rt;
if(one.size())
{
int ff = one.back();
fa[x] = ff;
one.pop_back();
++ANS;
}
else
{
fa[x] = 1;
one.push_back(x);
}
for(auto y : a[i].vt)
{
one.push_back(y);
}
}
printf("%d\n", ANS);
for(int i = 2; i <= n; ++i)printf("%d ", fa[i]);
puts("");
}
return 0;
} /*
【trick&&吐槽】 【题意】 【分析】 【时间复杂度&&优化】 */
I. Intelligence in Perpendicularia
答案$=$包围盒周长$-$图形周长。
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<string>
#include<ctype.h>
#include<math.h>
#include<set>
#include<map>
#include<vector>
#include<queue>
#include<bitset>
#include<algorithm>
#include<time.h>
using namespace std;
void fre() { }
#define MS(x, y) memset(x, y, sizeof(x))
#define ls o<<1
#define rs o<<1|1
typedef long long LL;
typedef unsigned long long UL;
typedef unsigned int UI;
template <class T1, class T2>inline void gmax(T1 &a, T2 b) { if (b > a)a = b; }
template <class T1, class T2>inline void gmin(T1 &a, T2 b) { if (b < a)a = b; }
const int N = 1e3 + 10, M = 0, Z = 1e9 + 7, inf = 0x3f3f3f3f;
template <class T1, class T2>inline void gadd(T1 &a, T2 b) { a = (a + b) % Z; }
int casenum, casei;
int n;
const LL INF = 1e9;
LL maxx, minx, maxy, miny; struct A
{
LL x, y;
}a[N];
int main()
{
freopen("intel.in", "r", stdin);
freopen("intel.out", "w", stdout);
scanf("%d", &n);
maxx = -INF, maxy = -INF, minx = INF, miny = INF;
for(int i = 0; i < n; i ++){
scanf("%lld%lld", &a[i].x, &a[i].y);
gmax(maxx, a[i].x);
gmax(maxy, a[i].y);
gmin(minx, a[i].x);
gmin(miny, a[i].y);
}a[n] = a[0];
LL ans = 0;
for(int i = 0; i < n; i ++){
ans += abs(a[i].x - a[i + 1].x) + abs(a[i].y - a[i + 1].y);
}
ans -= (maxx - minx) * 2 + (maxy - miny) * 2;
printf("%lld\n", ans);
return 0;
} /*
【trick&&吐槽】 【题意】 【分析】 【时间复杂度&&优化】 */
J. Joker
分块维护凸壳。
K. Kotlin Island
枚举行列分别切了几刀即可。
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<string>
#include<ctype.h>
#include<math.h>
#include<set>
#include<map>
#include<vector>
#include<queue>
#include<bitset>
#include<algorithm>
#include<time.h>
using namespace std;
void fre() { }
#define MS(x, y) memset(x, y, sizeof(x))
#define ls o<<1
#define rs o<<1|1
typedef long long LL;
typedef unsigned long long UL;
typedef unsigned int UI;
template <class T1, class T2>inline void gmax(T1 &a, T2 b) { if (b > a)a = b; }
template <class T1, class T2>inline void gmin(T1 &a, T2 b) { if (b < a)a = b; }
const int N = 0, M = 0, Z = 1e9 + 7, inf = 0x3f3f3f3f;
template <class T1, class T2>inline void gadd(T1 &a, T2 b) { a = (a + b) % Z; }
int casenum, casei;
int n, m, g;
char s[105][105];
bool solve()
{
MS(s, 0);
int y = (n - 1) / 2;
int x = (m - 1) / 2;
for(int i = 0; i <= y; ++i)
{
for(int j = 0; j <= x; ++j)
{
if( (i + 1) * (j + 1) == g)
{
for(int ii = 1; ii <= n; ++ii)
{
for(int jj = 1; jj <= m; ++jj)
{
if(ii % 2 == 0 && ii <= i * 2 || jj % 2 == 0 && jj <= j * 2)
{
s[ii][jj] = '#';
}
else
{
s[ii][jj] = '.';
}
}
}
return 1;
}
}
}
return 0;
}
int main()
{
freopen("kotlin.in", "r", stdin);
freopen("kotlin.out", "w", stdout);
while(~scanf("%d%d%d",&n, &m, &g))
{
if(!solve())puts("Impossible");
else
{
for(int i = 1; i <= n; ++i)puts(s[i] + 1);
}
}
return 0;
} /*
【trick&&吐槽】 【题意】 【分析】 【时间复杂度&&优化】 */
L. Little Difference
若$n=2^k$形式则有无穷多个解,否则只能是$n=a^k$或$n=a^x(a+1)^y$的形式。
枚举$x,y$后二分$a$即可。
#include<cstdio>
typedef long long ll;
const ll lim=1000000000000000010LL;
ll n;
int ans;
inline ll mul(ll a,ll b){
if(a>lim/b)return lim;
a*=b;
if(a>lim)a=lim;
return a;
}
inline ll po(ll a,int b){
ll t=1;
while(b--){
t=mul(t,a);
if(t>=lim)return lim;
}
return t;
}
inline ll get1(int k){
ll l=2,r=n,mid;
while(l<=r){
mid=(l+r)>>1;
ll t=po(mid,k);
if(t==n)return mid;
if(t<n)l=mid+1;else r=mid-1;
}
return 2;
}
inline ll get2(int i,int j){
ll l=2,r=n,mid;
while(l<=r){
mid=(l+r)>>1;
ll t=mul(po(mid,i),po(mid+1,j));
if(t==n)return mid;
if(t<n)l=mid+1;else r=mid-1;
}
return 2;
}
int main(){
freopen("little.in", "r", stdin); freopen("little.out", "w", stdout);
scanf("%lld",&n);
if(n<=2)return puts("-1"),0;
if(n==(n&-n))return puts("-1"),0;
//a^k
for(int _=0;_<2;_++){
for(int k=1;k<=70;k++){
ll t=get1(k);//t>=2
if(po(t,k)==n){
if(_==0)ans++;
else{
printf("%d",k);
for(int o=1;o<=k;o++)printf(" %lld",t);
puts("");
}
}
}
for(int i=1;i<=70;i++)for(int j=1;j<=70;j++){
ll t=get2(i,j);//t>=2
if(mul(po(t,i),po(t+1,j))==n){
if(_==0)ans++;
else{
printf("%d",i+j);
for(int o=1;o<=i;o++)printf(" %lld",t);
for(int o=1;o<=j;o++)printf(" %lld",t+1);
puts("");
}
}
}
if(_==0)printf("%d\n",ans);
}
}
/*
8589934592
2176782336
1000000000000000000
*/
2017-2018 ACM-ICPC, NEERC, Northern Subregional Contest的更多相关文章
- 2018-2019 ICPC, NEERC, Southern Subregional Contest
目录 2018-2019 ICPC, NEERC, Southern Subregional Contest (Codeforces 1070) A.Find a Number(BFS) C.Clou ...
- Codeforces 2018-2019 ICPC, NEERC, Southern Subregional Contest
2018-2019 ICPC, NEERC, Southern Subregional Contest 闲谈: 被操哥和男神带飞的一场ACM,第一把做了这么多题,荣幸成为7题队,虽然比赛的时候频频出锅 ...
- 【2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest D】---暑假三校训练
2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest D Problem D. Distribution in Metagonia Input ...
- 模拟赛小结:2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest
2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest 2019年10月11日 15:35-20:35(Solved 8,Penalty 675 ...
- 2015-2016 ACM-ICPC, NEERC, Northern Subregional Contest (9/12)
$$2015-2016\ ACM-ICPC,\ NEERC,\ Northern\ Subregional\ Contest$$ \(A.Alex\ Origami\ Squares\) 签到 //# ...
- ACM ICPC 2016–2017, NEERC, Northern Subregional Contest Problem J. Java2016
题目来源:http://codeforces.com/group/aUVPeyEnI2/contest/229510 时间限制:2s 空间限制:256MB 题目大意: 给定一个数字c 用 " ...
- 2018.10.20 2018-2019 ICPC,NEERC,Southern Subregional Contest(Online Mirror, ACM-ICPC Rules)
i207M的“怕不是一个小时就要弃疗的flag”并没有生效,这次居然写到了最后,好评=.= 然而可能是退役前和i207M的最后一场比赛了TAT 不过打得真的好爽啊QAQ 最终结果: 看见那几个罚时没, ...
- 2018-2019 ICPC, NEERC, Southern Subregional Contest (Online Mirror) Solution
从这里开始 题目列表 瞎扯 Problem A Find a Number Problem B Berkomnadzor Problem C Cloud Computing Problem D Gar ...
- 2016-2017 ACM-ICPC, NEERC, Northern Subregional Contest Problem F. Format
题目来源:http://codeforces.com/group/aUVPeyEnI2/contest/229510 时间限制:1s 空间限制:512MB 题目大意: 给定一个字符串,使用%[...] ...
- 2016-2017 ACM-ICPC, NEERC, Northern Subregional Contest Problem I. Integral Polygons
题目来源:http://codeforces.com/group/aUVPeyEnI2/contest/229510 时间限制:2s 空间限制:256MB 题目大意: 给定一个凸多边形,有一种连接两个 ...
随机推荐
- jdbc增删改查进行封装
jdbc封装 1 dao (代码分层) com.aaa.dao 存放dao相关的类型 例如 StudentDAOImpl 处理 数据库的链接 存取数据 com.aaa.servlet 存放servle ...
- NLTK基础
Python上著名的⾃然语⾔处理库 ⾃带语料库,词性分类库 ⾃带分类,分词,等等功能 强⼤的社区⽀持 还有N多的简单版wrapper 安装语料库 # 方式一 import nltk nltk.down ...
- 金融量化分析【day111】:Pandas-时间序列处理
一.时间对象处理 1.start 开始时间 df["2018-12-01":"2018-12-30"] 2.end 结束时间 df['2018'] ...... ...
- [物理学与PDEs]第3章第5节 一维磁流体力学方程组 5.2 一维磁流体力学方程组的 Lagrange 形式
由 $$\bex \cfrac{\p \rho}{\p t}&+u_1\cfrac{\p \rho}{\p x}+\rho\cfrac{\p u_1}{\p x}=0, \eex$$ 我们可以 ...
- 关于缓存和 Chrome 的“新版刷新”
在读本文前你要确保读过我的上篇文章<扼杀 304,Cache-Control: immutable>,因为本文是接着上文写的.上文说到,在现代 Web 上,“条件请求/304 响应”绝大多 ...
- EffectiveC++ 第4章 设计与声明
我根据自己的理解,对原文的精华部分进行了提炼,并在一些难以理解的地方加上了自己的"可能比较准确"的「翻译」. Chapter4 设计与声明 Designs and Declarat ...
- L1-Day2
L1-Day21.明智的人从来不生气. [我的翻译]A wise man is never angry. [标准答案]A wise man never gets angry. [对比分析]be和get ...
- 命令框下上传到gitee
git常用命令 C:\Users\Administrator>cd www/p2p设置账号C:\Users\Administrator\www\p2p>git config --globa ...
- LOJ 3049: 洛谷 P5284: 「十二省联考 2019」字符串问题
题目传送门:LOJ #3049. 题意简述: 给定一个长度为 \(n\) 的母串 \(S\). 有 \(n_a\) 个 A 类串,都是 \(S\) 的子串,以区间的形式给出. 有 \(n_b\) 个 ...
- 【转】Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历))
Python3 日期时间 相关模块(time(时间) / datatime(日期时间) / calendar(日历)) 本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog. ...