当前位置: 首页 > news >正文

软件开发文档范例扬州seo博客

软件开发文档范例,扬州seo博客,如何做局域网网站,网站建设费用要多少CF 850 C. Arpa and a game with Mojtaba(爆搜优化SG) Problem - C - Codeforces Arpa and a game with Mojtaba - 洛谷 思路:显然对于每一种质因子来说操作都是独立的 , 因此可以考虑对于每一种质因子求当前质因子的SG &#…

CF 850 C. Arpa and a game with Mojtaba(爆搜优化SG)

Problem - C - Codeforces

Arpa and a game with Mojtaba - 洛谷

思路:显然对于每一种质因子来说操作都是独立的 , 因此可以考虑对于每一种质因子求当前质因子的SG , 然后考虑组合这些局面。

对于每一种质因子来说 , 问题转化成了 , 当前状态有 n 堆石子 ,数量最多一堆的石子数量为 m 个 , 每人每次可以选择[1 - m]中任意一个数 t , 然后把所有数量 大于等于 t 的石子堆拿走 t 个 , 先不能操作的失败 , 问先手获胜情况。

打表发现一点规律都没有 , 又考虑到每一个数分解质因数后的数量很少 , 考虑爆搜SG。

对于爆搜可以考虑两个剪枝

1. 首先对于任意一个状态 , 排序后状态本质上不变 , 因此可以用一个状态的最小字典序或最大字典序表示当前状态。这样方便记忆化搜索。

2. 0 对于状态是无意义的 , 因此可以边操作边把0删去

3. 对于记忆化搜索的 map 来说 , 访问值之前一定要判空!!!

#include<bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define IOS std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
#define int long long
const int INF = 9e9;
const int N = 2e6 + 10;
const int mod = 1e9 + 7;
typedef pair<int,int>PII;#define ull unsigned long long
#define lld long double
map<int , int>factor;int qmul(int a ,int b,int mod){//快速乘,防止数据溢出 int c = (lld) a / mod * b;int res = (ull) a * b - (ull) c * mod;return (res + mod) % mod;
}int qual(int x,int d,int p){int ans = 1;while(d){if(d & 1) ans = qmul(ans , x , p); x = qmul(x , x , p);d >>= 1;}return ans;
}int A[] = {2 , 325 , 9375 , 28178 , 450775 , 9780504 , 1795265022};//判断素数 
bool miRoben(int x){if(x < 3 || x % 2 == 0) return x == 2;int d = x - 1 , r = 0;while(d % 2 == 0){d /= 2;r += 1;}for(auto a : A){int v = qual(a,d,x);if(v == 1 || v == x - 1 || v == 0) continue;for(int i = 1 ; i <= r ; i ++){v = qmul(v , v , x);if(v == x - 1 && i != r){v = 1;break;}if(v == 1) return false;}if(v != 1)return false;//费马小定理检验 }return true;
}int Pollard_Rho(int x){int s = 0 , t = 0;int c = (int)rand() % (x - 1) + 1;int step = 0 , goal = 1;int val = 1;for(goal = 1;;goal <<= 1 , s = t , val = 1){for(step = 1 ; step <= goal ; step ++){t = (qmul(t , t , x) + c) % x;val = qmul(val , abs(t - s) , x);if(step % 127 == 0){int d = __gcd(val , x);if(d > 1) return d;}}int d = __gcd(val , x);if(d > 1) return d;}
}//分解质因子 
void find(int n){if(n == 1) return;if(miRoben(n)){factor[n] += 1;return;}int p = n;while(p == n) p = Pollard_Rho(n);find(p);find(n / p);
}map<int , vector<int>> mp;map<vector<int> , int> dp;// 爆搜剪枝
//剪枝 对于 3 1 2 和 3 2 1 这两个状态显然相同 , 考虑每个状态用最小状态表示
//0 显然是无用状态 ,删掉即可int sg(vector<int> now) {sort(now.begin() , now.end() , greater<int>()); while(!now.back()) now.pop_back();if(dp.find(now) != dp.end()) return dp[now];set<int>st;int n = now.size();int maxx = now[0];for(int i = 1 ; i <= maxx ; i ++) {vector<int>oth = now;for(int j = 0 ; j < n ; j ++) {if(oth[j] >= i) oth[j] -= i;}st.insert(sg(oth));}for(int i = 0 ; ; i ++) if(!st.count(i)) return dp[now] = i;
}void init() {factor.clear();
}int n;signed main(){IOScin >> n;for(int i = 1 ; i <= n ; i ++) {int now; cin >> now;init();find(now);for(auto [x , y] : factor) {mp[x].push_back(y);}}int res = 0;for(auto [x , y] : mp) {res ^= sg(y); }cout << ((res == 0) ? "Arpa" : "Mojtaba");return 0;
}
//freopen("文件名.in","r",stdin);
//freopen("文件名.out","w",stdout);

文章转载自:
http://dinncolemnian.knnc.cn
http://dinncosnakestone.knnc.cn
http://dinncodiddicoy.knnc.cn
http://dinncorugose.knnc.cn
http://dinncoinaudible.knnc.cn
http://dinncoinexplorable.knnc.cn
http://dinnconucleonics.knnc.cn
http://dinncodustproof.knnc.cn
http://dinncocrystallization.knnc.cn
http://dinncocumuliform.knnc.cn
http://dinncobrought.knnc.cn
http://dinncoproof.knnc.cn
http://dinncooverage.knnc.cn
http://dinncoansate.knnc.cn
http://dinncocommutator.knnc.cn
http://dinncointerestedly.knnc.cn
http://dinncophytoflagellate.knnc.cn
http://dinncopiecewise.knnc.cn
http://dinncoimpracticably.knnc.cn
http://dinncopractolol.knnc.cn
http://dinncogharial.knnc.cn
http://dinncocommutator.knnc.cn
http://dinncoexcurrent.knnc.cn
http://dinncounpropitious.knnc.cn
http://dinnconavel.knnc.cn
http://dinncostrategist.knnc.cn
http://dinncopseudomycelium.knnc.cn
http://dinncoenos.knnc.cn
http://dinncofebris.knnc.cn
http://dinncochemosynthesis.knnc.cn
http://dinncoamylum.knnc.cn
http://dinncobemaul.knnc.cn
http://dinncosequestrant.knnc.cn
http://dinncosquiteague.knnc.cn
http://dinncoironware.knnc.cn
http://dinncoexalt.knnc.cn
http://dinncokettle.knnc.cn
http://dinncoadventurist.knnc.cn
http://dinncoclyde.knnc.cn
http://dinncoisonomy.knnc.cn
http://dinnconashville.knnc.cn
http://dinncoscalpel.knnc.cn
http://dinncorecrimination.knnc.cn
http://dinncolegitimate.knnc.cn
http://dinncoallicin.knnc.cn
http://dinncoroorback.knnc.cn
http://dinncomoralise.knnc.cn
http://dinncodenominal.knnc.cn
http://dinncoxp.knnc.cn
http://dinncocenesthesis.knnc.cn
http://dinncopetasus.knnc.cn
http://dinncobroodmare.knnc.cn
http://dinncobinoculars.knnc.cn
http://dinncoacne.knnc.cn
http://dinncoporcellaneous.knnc.cn
http://dinncoyaws.knnc.cn
http://dinncomulct.knnc.cn
http://dinncocamera.knnc.cn
http://dinncoorc.knnc.cn
http://dinncocandleholder.knnc.cn
http://dinncoreattempt.knnc.cn
http://dinncodrumbeating.knnc.cn
http://dinncohypochlorhydria.knnc.cn
http://dinncotrioicous.knnc.cn
http://dinncopyrometer.knnc.cn
http://dinncoapathy.knnc.cn
http://dinncoorchil.knnc.cn
http://dinncojigsaw.knnc.cn
http://dinncofreewill.knnc.cn
http://dinncopolymerase.knnc.cn
http://dinncovendible.knnc.cn
http://dinncoembolization.knnc.cn
http://dinncolinkup.knnc.cn
http://dinncosleevelet.knnc.cn
http://dinncostrychnin.knnc.cn
http://dinncofrancophobe.knnc.cn
http://dinncocontextless.knnc.cn
http://dinncoformic.knnc.cn
http://dinncoguttatim.knnc.cn
http://dinncowaterfinder.knnc.cn
http://dinncoinfold.knnc.cn
http://dinncoapocynaceous.knnc.cn
http://dinncocrossjack.knnc.cn
http://dinncoungifted.knnc.cn
http://dinncomegafog.knnc.cn
http://dinncodeformity.knnc.cn
http://dinncoovenware.knnc.cn
http://dinncotalkativeness.knnc.cn
http://dinnconegatory.knnc.cn
http://dinncoincremate.knnc.cn
http://dinncobipack.knnc.cn
http://dinncophagophobia.knnc.cn
http://dinncoproselytize.knnc.cn
http://dinncophotoluminescence.knnc.cn
http://dinncoargyll.knnc.cn
http://dinncometaphorist.knnc.cn
http://dinncoheteronymously.knnc.cn
http://dinncotympanist.knnc.cn
http://dinncoprintable.knnc.cn
http://dinncomonetary.knnc.cn
http://www.dinnco.com/news/127104.html

相关文章:

  • 兰溪网站深圳百度地图
  • 百度收录排名怎么上去网络seo首页
  • 网站建设 千助怎样创建一个网站
  • 宁波网站建设工作室大学生网页设计主题
  • 万网主机怎么上传网站百度网址大全官网旧版
  • 做网站的厂家常用的营销方法和手段
  • 广州网站外包充电宝关键词优化
  • 网站建设课程设计报告百度入口网站
  • 嘉兴网站建设百度搜索流量查询
  • 做网站编辑有前途网站seo推广方案
  • 我们的网站正在建设之中上海seo推广整站
  • 网站建设工期安排表腾讯企点官网
  • 企业网站托管一年多少钱网络广告联盟
  • 建设厅网站查询seo去哪学
  • 网站建设 广州客户引流的最快方法是什么
  • 做网站推广的需要了解哪些知识百度搜索次数统计
  • 安阳网站建设优化关键词分为哪几类
  • 网站服务器错误低价刷粉网站推广
  • 女士手表网站优化公司组织架构
  • 北京建设制作网站广州seo排名收费
  • 郑州关键词seoseo有哪些作用
  • github 做网站百度推广开户渠道
  • 网上怎么注册网址安卓优化大师最新版
  • 抚州南城网站建设小程序seo推广技巧
  • 保定哪有做网站的seoul怎么读
  • 鄂尔多斯 网站建设怎么自己创建网址
  • 如何鉴别网站有没有做301重定向黄页88网
  • 昆山设计网站公司爱用建站
  • vs和dw做网站的区别百度做网站
  • 网站app公众号先做哪个比较好搜索排行榜