在某咕上打了一晚上的模板

感觉还好。。。

#include<bits/stdc++.h>
#define LL long long
using namespace std;
inline int read()
{
int x = ,f = ;char ch = getchar();
for(;!isdigit(ch);ch = getchar())if(ch == '-')f = -f;
for(;isdigit(ch);ch = getchar())x = * x + ch - '';
return x * f;
}
int n;
priority_queue<int> q;
int main()
{
n = read();
while(n--)
{
int opt = read();
if(opt == )q.push(-read());
else if(opt == )printf("%d\n",-q.top());
else q.pop();
}
}

小根堆(滑稽)

// luogu-judger-enable-o2
#include<bits/stdc++.h>
#define LL long long
using namespace std;
inline int read()
{
int x = ,f = ;char ch = getchar();
for(;!isdigit(ch);ch = getchar())if(ch == '-')f = -f;
for(;isdigit(ch);ch = getchar())x = * x + ch - '';
return x * f;
}
const int maxn = ;
int n,m;
int first[maxn],to[maxn],nx[maxn],val[maxn],cnt;
int inq[maxn],dis[maxn],cq[maxn],vis[maxn];
int spfa(int s)
{
memset(inq,,sizeof(inq));
memset(cq,,sizeof(cq));
memset(dis,,sizeof(dis));
queue<int> q;
dis[s] = ;q.push(s);
cq[s] = ;
while(!q.empty())
{
int now = q.front();q.pop();
inq[now] = ;
for(int i=first[now];i;i=nx[i])
{
if(dis[to[i]] > dis[now] + val[i])
{
dis[to[i]] = dis[now] + val[i];
cq[to[i]] = cq[now] + ;
if(cq[to[i]] > n)return ;
if(!inq[to[i]])
{
inq[to[i]] = ;
q.push(to[i]);
}
}
}
}return ;
}
int main()
{
//freopen("testdata.in","r",stdin);
// freopen("testdata.ans","w",stdout);
int T = read();
while(T--)
{
n = read(),m = read();
cnt = ;memset(first,,sizeof(first));
for(int i=;i<=m;i++)
{
int u = read(),v = read(),w = read();
to[++cnt] = v,nx[cnt] = first[u],first[u] = cnt,val[cnt] = w;
if(w >= )to[++cnt] = u,nx[cnt] = first[v],first[v] = cnt,val[cnt] = w;
}
if(spfa())cout<<"YE5\n";
else cout<<"N0\n";
}
}

spfa判断负环,判断一个点是否松弛超过n次,比判入队n次快

// luogu-judger-enable-o2
#include<bits/stdc++.h>
#define LL long long
using namespace std;
inline int read()
{
int x = ,f = ;char ch = getchar();
for(;!isdigit(ch);ch = getchar())if(ch == '-')f = -f;
for(;isdigit(ch);ch = getchar())x = * x + ch - '';
return x * f;
}
const int maxn = ;
int n,m;
int f[maxn][],lg[maxn];
int main()
{
n = read(),m = read();
lg[] = -;
for(int i=;i<=n;i++)f[i][] = read(),lg[i] = lg[i >> ] + ;
for(int j=;j<=;j++)
for(int i=;i+( << j) - <= n;i++)
f[i][j] = max(f[i][j - ],f[i + ( << (j - ))][j - ]);
while(m--)
{
int l = read(),r = read();
printf("%d\n",max(f[l][lg[r - l + ]],f[r - ( << lg[r - l + ]) + ][lg[r - l + ]]));
}
}

ST表

// luogu-judger-enable-o2
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int maxn = ,mod = ,M = ,G = ;
int n,L,num,R[maxn],a[maxn],b[maxn],c[maxn],d[maxn];
int poly[maxn],inv[maxn];
inline int read()
{
int x = ,f = ;char ch = getchar();
for(;!isdigit(ch);ch = getchar())if(ch == '-')f = -f;
for(;isdigit(ch);ch = getchar())x = * x + ch - '';
return x * f;
}
inline int ksm(int x,int t)
{
int res = ;
while(t)
{
if(t & ) res = 1LL * res * x % mod;
x = 1LL * x * x % mod;
t >>= ;
}
return res;
}
inline void NTT(int *a,int f,int n,int L)
{
for(int i=;i<n;i++) R[i] = (R[i>>] >> ) | ((i & ) << (L - ));
for(int i=;i<n;i++)if(i < R[i])swap(a[i],a[R[i]]);
for(int i=;i<n;i<<=)
{
int wn = ksm(G,(mod - ) / (i << ));
if(f == -)wn = ksm(wn,mod - );
for(int j=;j<n;j+=(i<<))
{
int w = ;
for(int k=;k<i;k++,w=1LL * w * wn % mod)
{
int x = a[j + k], y = 1LL * w * a[j + k + i ] % mod;
a[j + k] = ((x + y) % mod + mod) % mod;
a[j + k + i] = ((x - y) % mod + mod) % mod;
}
}
}
if(f == -)
{
int inv = ksm(n,mod - );
for(int i=;i<n;i++)a[i] = 1LL * a[i] * inv % mod;
}
}
inline void inverse(int *a,int *b,int n,int L)
{
if(n == ){b[] = ksm(a[],mod - );return;}
inverse(a,b,n>>,L-);
memcpy(c,a,n*sizeof(int));memset(c+n,,n*sizeof(int));
NTT(c,,n<<,L+);NTT(b,,n<<,L+);
for(int i=;i<(n<<);i++) b[i] = 1LL * b[i] * (( - 1LL * c[i] * b[i] % mod + mod) % mod) % mod;
NTT(b,-,n<<,L+);memset(b+n,,n*sizeof(int));
}
inline void sqrt(int *a,int *b,int n,int L)
{
if(n == ){b[] = ;return;}
sqrt(a,b,n>>,L-);memset(d,,n**sizeof(int));inverse(b,d,n,L);
memcpy(c,a,n*sizeof(int));memset(c+n,,n*sizeof(int));
NTT(c,,n<<,L+);NTT(b,,n<<,L+);NTT(d,,n<<,L+);
for(int i=;i<n<<;i++) b[i] = (1LL * c[i] * d[i] % mod + b[i]) %mod * M % mod;
NTT(b,-,n<<,L+);memset(b+n,,n*sizeof(int));
}
signed main()
{
n = read();
for(int i=;i<n;i++)poly[i] = read();
int m;
for(m=n,n=;n<=m;n<<=) L++;
for(int i=;i<n;i++)poly[i] = mod - poly[i];
(poly[] += ) %= mod;
inverse(poly,inv,n,L);
for(int i=;i<m;i++)printf("%lld ",inv[i]);
}

用多项式求逆搞的分治FFT板子

// luogu-judger-enable-o2
#include<bits/stdc++.h>
#define int long long
using namespace std;
inline int read()
{
int x = ,f = ;char ch = getchar();
for(;!isdigit(ch);ch = getchar())if(ch == '-')f = -f;
for(;isdigit(ch);ch = getchar())x = * x + ch - '';
return x * f;
}
const int maxn = 3e6 + ;
int n,p;
int inv[maxn];
inline int inverse(int x)
{
int res = ,t = p - ;
while(t)
{
if(t & )res = res * x % p;
x = x * x % p;
t = t >> ;
}
return res;
}
signed main()
{
n = read(),p = read();puts("");inv[] = ;
for(int i=;i<=n;i++)
{
printf("%d\n",(inv[i] = ((p - p / i) * inv[p % i]) % p));
//printf("%d\n",inverse(i));
}
}

逆元

// luogu-judger-enable-o2
// luogu-judger-enable-o2
#include<bits/stdc++.h>
#pragma GCC optimize("O3")
#define LL long long
using namespace std;namespace IO {
const int iL = <<;
char _buf[iL],*S,*T;
#define gc (S==T?(T=(S=_buf)+fread(_buf,1,iL,stdin),S==T?0:*S++):*S++)
template<class _Tp> inline void gi(_Tp&x){
x=;int f=;char ch=gc;while(ch<''||ch>''){if(ch=='-')f=-;ch=gc;}
while(ch>=''&&ch<='')x=x*+(ch^),ch=gc;x*=f;
}
char _o[],*__o;
template<class _Tp> inline void oi(_Tp x,char _y=){
if(x==){putchar('');if(_y)putchar(_y);}
else {
if(x<) putchar('-'), x=-x;
__o = _o+; if(_y) *--__o = _y;
while(x) *--__o = x%+, x/=;
fwrite(__o,,_o+-__o,stdout);
}
} inline char getc(){char ch;while((ch=gc)!='A'&&ch!='C');return ch;}
} ;
const int maxn = 1e6 + ;
int n,k;
char s[maxn];
namespace Suffix_Array
{
#define equ(x) (y[sa[i] + x] == y[sa[i - 1] + x])
int rnk[maxn],tmp[maxn],sa[maxn],hei[maxn];
int *x,*y;
int wa[maxn],wb[maxn],wc[maxn];
void radix_sort(int m)
{
memset(wc+,,sizeof(int)*m);
for(int i=;i<=n;++i)++wc[x[y[i]]];
for(int i=;i<=m;++i)wc[i] += wc[i - ];
for(int i=n;i>=;--i)sa[wc[x[y[i]]]--] = y[i];
}
void makesa(char *s,int n,int m)
{
x = wa,y = wb;
for(int i=;i<=n;++i)x[i] = s[i],y[i] = i;radix_sort(m);
for(int j=,p=;j<=n;j<<=,m = p,p = )
{
for(int i=n-j+;i<=n;++i)y[++p] = i;
for(int i=;i<=n;++i)
if(sa[i] > j)y[++p] = sa[i] - j;
radix_sort(m);swap(x,y);x[sa[p = ]] = ;
for(int i=;i<=n;++i)x[sa[i]] = equ() && equ(j) ? p : ++p;
if(p == n)break;
}
}
}
using namespace Suffix_Array;
int main()
{
fgets(s + , << ,stdin);
n = strlen(s + );
makesa(s,n,);
for(int i=;i<=n;++i)IO::oi(sa[i],' ');
}

后缀排序

// luogu-judger-enable-o2
#include<bits/stdc++.h>
#define int long long
using namespace std;
inline int read()
{
int x = ,f = ;char ch = getchar();
for(;!isdigit(ch);ch = getchar())if(ch == '-')f = -f;
for(;isdigit(ch);ch = getchar())x = * x + ch - '';
return x * f;
}
const int maxn = ;
int n,m,mod;
int a[maxn];
#define ls (x << 1)
#define rs ((x << 1) | 1)
int seg[maxn << ],mutag[maxn << ],adtag[maxn << ];
inline void pushup(int x){seg[x] = (seg[ls] + seg[rs]) % mod;}
inline void build(int x,int l,int r)
{
mutag[x] = ,adtag[x] = ;
if(l == r)
{
seg[x] = a[l];
return;
}
int mid = (l + r) >> ;
build(ls,l,mid);build(rs,mid + ,r);
pushup(x);
}
inline void pushdown(int x,int l,int r)
{
if(mutag[x] != )
{
(mutag[ls] *= mutag[x]) %= mod;(mutag[rs] *= mutag[x]) %= mod;
(adtag[ls] *= mutag[x]) %= mod;(adtag[rs] *= mutag[x]) %= mod;
(seg[ls] *= mutag[x]) %= mod;(seg[rs] *= mutag[x]) %= mod;
mutag[x] = ;
}
if(adtag[x])
{
int mid = (l + r) >> ;
(adtag[ls] += adtag[x]) %= mod;(adtag[rs] += adtag[x]) %= mod;
(seg[ls] += (mid - l + ) * adtag[x]) %= mod;
(seg[rs] += (r - mid) * adtag[x]) %= mod;
adtag[x] = ;
}
}
inline void modify(int x,int l,int r,int L,int R,int v,int type)
{
if(L <= l && r <= R)
{
if(type == )
{
(seg[x] += (r - l + ) * v) %= mod;
(adtag[x] += v) %= mod;
}
if(type == )
{
(seg[x] *= v) %= mod;
(adtag[x] *= v) %= mod;
(mutag[x] *= v) %= mod;
}
return;
}
int mid = (l + r) >> ;
pushdown(x,l,r);
if(L <= mid)modify(ls,l,mid,L,R,v,type);
if(R > mid)modify(rs,mid + ,r,L,R,v,type);
pushup(x);
}
inline int query(int x,int l,int r,int L,int R)
{
if(L <= l && r <= R)return seg[x];
int mid = (l + r) >> ,ans = ;
pushdown(x,l,r);
if(L <= mid)(ans += query(ls,l,mid,L,R)) %= mod;
if(R > mid)(ans += query(rs,mid + ,r,L,R)) %= mod;
return ans;
}
signed main()
{
n = read(),m = read(),mod = read();
for(int i=;i<=n;i++)a[i] = read();
build(,,n);
while(m--)
{
int op = read(),l = read(),r = read();
if(op == )modify(,,n,l,r,read(),op);
else if(op == )modify(,,n,l,r,read(),op);
else printf("%lld\n",query(,,n,l,r));
}
}

线段树区间加,区间乘

// luogu-judger-enable-o2
#include<bits/stdc++.h>
#define int long long
using namespace std;
inline int read()
{
int x = ,f = ;char ch = getchar();
for(;!isdigit(ch);ch = getchar())if(ch == '-')f = -f;
for(;isdigit(ch);ch = getchar())x = * x + ch - '';
return x * f;
}
const int maxn = ;
int n,m;
int a[maxn];
struct Graph
{
int first[maxn],to[maxn << ],nx[maxn << ],cnt;
inline void add(int u,int v)
{
to[++cnt] = v;
nx[cnt] = first[u];
first[u] = cnt;
}
}G1,G2;
int dfn[maxn],low[maxn],stk[maxn],top,vis[maxn],bl[maxn],scc,size[maxn],_tim;
int ind[maxn],sum[maxn];
inline void Tarjan(int x)
{
dfn[x] = low[x] = ++_tim;stk[++top] = x;vis[x] = ;
for(int i=G1.first[x];i;i=G1.nx[i])
{
int v = G1.to[i];
if(!dfn[v])
{
Tarjan(v);
low[x] = min(low[x],low[v]);
}
else if(vis[v])low[x] = min(low[x],dfn[v]);
}
if(dfn[x] == low[x])
{
int now = ;scc++;
while(now != x)
{
now = stk[top--];
vis[now] = ;
bl[now] = scc;
size[scc]++;
sum[scc] += a[now];
}
}
}
inline void rebuild()
{
for(int j=;j<=n;j++)
for(int i=G1.first[j];i;i=G1.nx[i])
if(bl[j] != bl[G1.to[i]])
{
ind[bl[G1.to[i]]]++;
G2.add(bl[j],bl[G1.to[i]]);
}
}
int dp[maxn];
inline int dfs()
{
queue<int> q;
for(int i=;i<=scc;i++)
if(ind[i] == )
{
q.push(i);
dp[i] = sum[i];
}
while(!q.empty())
{
int now = q.front();q.pop();
for(int i=G2.first[now];i;i=G2.nx[i])
{
int v = G2.to[i];
dp[v] = max(dp[v],dp[now] + sum[v]);
ind[v]--;
if(ind[v] == )q.push(v);
}
}
int ans = ;
for(int i=;i<=scc;i++)ans = max(ans,dp[i]);
return ans;
}
signed main()
{
n = read(),m = read();
for(int i=;i<=n;i++)a[i] = read();
for(int i=;i<=m;i++)
{
int u = read(),v = read();
G1.add(u,v);
}
for(int i=;i<=n;i++)
if(!dfn[i])Tarjan(i);
rebuild();
cout<<dfs();
}

Tarjan强连通分量

// luogu-judger-enable-o2
#include<bits/stdc++.h>
#define LL long long
using namespace std;
inline int read()
{
int x = ,f = ;char ch = getchar();
for(;!isdigit(ch);ch = getchar())if(ch == '-')f = -f;
for(;isdigit(ch);ch = getchar())x = * x + ch - '';
return x * f;
}
const int maxn = ;
int n,m;
int first[maxn],to[maxn << ],nx[maxn << ],cnt;
inline void add(int u,int v)
{
to[++cnt] = v;
nx[cnt] = first[u];
first[u] = cnt;
}
int dfn[maxn],low[maxn],_tim;
int isc[maxn];
inline void Tarjan(int x,int fa)
{
dfn[x] = low[x] = ++_tim;
int ch = ;
for(int i=first[x];i;i=nx[i])
{
int v = to[i];
if(!dfn[v])
{
Tarjan(v,x);
low[x] = min(low[x],low[v]);
if(low[v] >= dfn[x] && x != fa)isc[x] = ;
if(x == fa)++ch;
}
else low[x] = min(low[x],dfn[v]);
}
if(x == fa && ch >= )isc[x] = ;
}
signed main()
{
n = read(),m = read();
for(int i=;i<=m;i++)
{
int u = read(),v = read();
add(u,v);add(v,u);
}
for(int i=;i<=n;i++)
if(!dfn[i])Tarjan(i,i);
int ToT = ;
for(int i=;i<=n;i++)if(isc[i])ToT++;
cout<<ToT<<endl;
for(int i=;i<=n;i++)if(isc[i])cout<<i<<" ";
}

割点

// luogu-judger-enable-o2
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int maxn = ,mod = ,M = ,G = ;
int n,L,num,R[maxn],a[maxn],b[maxn],c[maxn],d[maxn];
int poly[maxn],inv[maxn];
inline int read()
{
int x = ,f = ;char ch = getchar();
for(;!isdigit(ch);ch = getchar())if(ch == '-')f = -f;
for(;isdigit(ch);ch = getchar())x = * x + ch - '';
return x * f;
}
inline int ksm(int x,int t)
{
int res = ;
while(t)
{
if(t & ) res = 1LL * res * x % mod;
x = 1LL * x * x % mod;
t >>= ;
}
return res;
}
inline void NTT(int *a,int f,int n,int L)
{
for(int i=;i<n;i++) R[i] = (R[i>>] >> ) | ((i & ) << (L - ));
for(int i=;i<n;i++)if(i < R[i])swap(a[i],a[R[i]]);
for(int i=;i<n;i<<=)
{
int wn = ksm(G,(mod - ) / (i << ));
if(f == -)wn = ksm(wn,mod - );
for(int j=;j<n;j+=(i<<))
{
int w = ;
for(int k=;k<i;k++,w=1LL * w * wn % mod)
{
int x = a[j + k], y = 1LL * w * a[j + k + i ] % mod;
a[j + k] = ((x + y) % mod + mod) % mod;
a[j + k + i] = ((x - y) % mod + mod) % mod;
}
}
}
if(f == -)
{
int inv = ksm(n,mod - );
for(int i=;i<n;i++)a[i] = 1LL * a[i] * inv % mod;
}
}
inline void inverse(int *a,int *b,int n,int L)
{
if(n == ){b[] = ksm(a[],mod - );return;}
inverse(a,b,n>>,L-);
memcpy(c,a,n*sizeof(int));memset(c+n,,n*sizeof(int));
NTT(c,,n<<,L+);NTT(b,,n<<,L+);
for(int i=;i<(n<<);i++) b[i] = 1LL * b[i] * (( - 1LL * c[i] * b[i] % mod + mod) % mod) % mod;
NTT(b,-,n<<,L+);memset(b+n,,n*sizeof(int));
}
inline void sqrt(int *a,int *b,int n,int L)
{
if(n == ){b[] = ;return;}
sqrt(a,b,n>>,L-);memset(d,,n**sizeof(int));inverse(b,d,n,L);
memcpy(c,a,n*sizeof(int));memset(c+n,,n*sizeof(int));
NTT(c,,n<<,L+);NTT(b,,n<<,L+);NTT(d,,n<<,L+);
for(int i=;i<n<<;i++) b[i] = (1LL * c[i] * d[i] % mod + b[i]) %mod * M % mod;
NTT(b,-,n<<,L+);memset(b+n,,n*sizeof(int));
}
signed main()
{
n = read();
for(int i=;i<n;i++)poly[i] = read();
int m;
for(m=n,n=;n<=m;n<<=) L++;
inverse(poly,inv,n,L);
for(int i=;i<m;i++)printf("%lld ",inv[i]);
}

多项式求逆

noip前打板子 qwq的更多相关文章

  1. CSP前的板子们

    见窝的luogu博客qwq noip前的板子们

  2. [日常] NOIP前集训日记

    写点流水账放松身心... 10.8 前一天考完NHEEE的一调考试终于可以开始集训了Orz (然后上来考试就迟到5min, GG) T1维护队列瞎贪心, 过了大样例交上去一点也不稳...T出翔只拿了5 ...

  3. Noip前的大抱佛脚----Noip真题复习

    Noip前的大抱佛脚----Noip真题复习 Tags: Noip前的大抱佛脚 Noip2010 题目不难,但是三个半小时的话要写四道题还是需要码力,不过按照现在的实力应该不出意外可以AK的. 机器翻 ...

  4. Noip前的大抱佛脚----数论

    目录 数论 知识点 Exgcd 逆元 gcd 欧拉函数\(\varphi(x)\) CRT&EXCRT BSGS&EXBSGS FFT/NTT/MTT/FWT 组合公式 斯特林数 卡塔 ...

  5. Noip前的大抱佛脚----文章索引

    Noip前的大抱佛脚----赛前任务 Noip前的大抱佛脚----考场配置 Noip前的大抱佛脚----数论 Noip前的大抱佛脚----图论 Noip前的大抱佛脚----动态规划 Noip前的大抱佛 ...

  6. Noip前的大抱佛脚----字符串

    目录 字符串 经验 用FFT求解字符串匹配问题 两(多)串DP时状态合并 最长公共子序列转LIS 位运算最大值 挂链哈希 哈希处理回文串 树哈希 字符串模板库 KMP 最小循环表示 Mancher A ...

  7. Noip前的大抱佛脚----一些思路

    目录 一些思路 序列 函数问题 网格图 删除和询问 乘法问题 顺序问题 最值问题 研究成果 数论分块套数论分块的复杂度 一些思路 Tags:Noip前的大抱佛脚 序列 线段树(当然还要有主席树啊!) ...

  8. Noip前的大抱佛脚----图论

    目录 图论 知识点 二分图相关 DFS找环 并查集维护二分图 二分图匹配的不可行边 最小生成树相关 最短路树 最短路相关 负环 多源最短路 差分约束系统 01最短路 k短路 网络流 zkw费用流 做题 ...

  9. Noip前的大抱佛脚----数据结构

    目录 数据结构 知识点及其应用 线段树 神奇标记 标记不下放 并查集 维护二分图 维护后继位置 堆 可并堆的可持久化 dsu on tree 方式&原理 适用范围 单调队列 尺取合法区间 模板 ...

随机推荐

  1. Android之——清理手机SD卡缓存

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47375595 眼下,市场上非常多Android手机软件都具有清理SD卡缓存的功能, ...

  2. TP框架---thinkphp表单验证

    自动验证是ThinkPHP模型层提供的一种数据验证方法,可以在使用create创建数据对象的时候自动进行数据验证.验证的代码要写在模型层即Model里面. 数据验证有两种方式: 静态方式:在模型类里面 ...

  3. VC++MFC对话框程序中给对话添加背景图片

    VC对话框怎么显示背景图片呢.在MFC中实现背景图片,不像C#应用程序那么简单.今天就和朋友们说说如何在VC界面中设置背景图片 ^_^   工具/原料 Visual C++ 2010 方法一:用Pic ...

  4. nginx + uWSGI 为 django 提供高并发

    django 的并发能力真的是令人担忧,这里就使用 nginx + uwsgi 提供高并发 nginx 的并发能力超高,单台并发能力过万(这个也不是绝对),在纯静态的 web 服务中更是突出其优越的地 ...

  5. Java 重写 equals 与 hashCode 的注意事项

    为什么重写 equals 的时候必须重写 hashCode 大家可能从很多教程中了解到: SUN官方的文档中规定"如果重定义equals方法,就必须重定义hashCode方法,以便用户可以将 ...

  6. Jquery遍历table并拿到每个单元格里的值

    $('#table_id tr').each(function(i){ alert(i); if(i!=0){ //td内的文本 var v0 = $(this).children('td').eq( ...

  7. Linux c编程:线程属性

    前面介绍了pthread_create函数,并且当时的例子中,传入的参数都是空指针,而不是指向pthread_attr_t结构的指针.可以使用pthread_attr_t结构修改线程默认属性,并把这些 ...

  8. 在线工具集合(新增cron quartz表达式在线生成……)

    缘起 平时工作,须要一些工具.经过一些使用,对照,保留一些比較方便好用的在线工具 工具会持续更新中.. . 在线编译&&反编译  http://www.showmycode.com/ ...

  9. Android动画效果animation

    1.Tween 根据指定动画开始和结束时的对象属性(位置.Alpha值(透明度).大小.角度等)以及动画播放的时间长度生成动画: 2.Frame 指定每一帧所播放的图片和时间长度.   建立动画的方法 ...

  10. Ionic background地址写法问题

    1.背景图片 background:url(‘/img/text.jpg') 这种写法在手机上不好使 ’../img/text.jpg' 这种在手机上好使