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

php做网站步骤品牌推广策略分析

php做网站步骤,品牌推广策略分析,在线设计平台官网,wordpress页面如何调用文章分类25分暴力代码: 储存为邻接矩阵 进行广度遍历 寻找到最近的距离和结点 然后去进行坐标变换操作 问题就是:邻接矩阵太大了存不下 而且只需要判断当前坐标是否满足条件 不需要都遍历 ,理论上维护坐标位置 每次根据数学表达式决定是否更新就可以…

25分暴力代码:
储存为邻接矩阵 进行广度遍历 寻找到最近的距离和结点

然后去进行坐标变换操作

问题就是:邻接矩阵太大了存不下 而且只需要判断当前坐标是否满足条件 不需要都遍历 ,理论上维护坐标位置 每次根据数学表达式决定是否更新就可以。

#include <bits/stdc++.h>
using namespace std;
int n, m, p, q;vector<vector<int>> graph(1003, vector<int>(1003, 0));
int dx[8] = {1,1,0,-1,-1,-1,0,1};
int dy[8] = { 0,1,1,1,0,-1,-1,-1 };
map<int, pair<int, int>> worker;
struct node {pair<int, int> p;int di;node() {}node(int u, int v, int k, int di) { p.first = u; p.second = v; k = k; di = di; }
};
//获得V1集合和对应的坐标
pair <map<int, vector<node>>, set<int>> get_V1(int u, int v) {map<int, vector<node>> V1_map;set<int> V1_set;//遍历整张图 从阴阳龙结点开始八个方向为一个循环 循环次数是个问题int count = max(max(m - v, v - 1),max(u - 1, n - u));//循环count次 count代表距离for (int i = 1; i <= count; i++) {//寻找八个方向的员工for (int j = 0; j < 8; j++) {int now_x = u + dx[j];int now_y = v + dy[j];if (graph[now_x][now_y] == 1) {V1_map[i].push_back(node(u,v,i,j));V1_set.insert(i);}		}}return { V1_map,V1_set };
}//改变位置
void change(vector<node> nearest, int t,int k) {for (node worker : nearest) {int now_x = worker.p.first;int now_y = worker.p.second;int di = worker.di;int k = k;int new_x = now_x + k * dx[(di + t) % 8];int new_y = now_y + k * dy[(di + t) % 8];graph[now_x][now_y] = 0;graph[new_x][new_y] = 1;}
}//work函数
void work(int u, int v, int t) {pair<map<int, vector<node>>,set<int>> V1=get_V1(u,v);if (V1.second.empty())return;else {int k = V1.first.begin()->first;vector<node> nearest=V1.first[k];change(nearest, t,k);}}//获得坐标结果
int get_result() {int result;for (int i = 1; i <= p; i++) {if (i == 1)result = i * worker[i].first + worker[i].second;elseresult = result ^ (i * worker[i].first + worker[i].second);}return result;
}
int main() {// n*m:代表图的大小 (1,1) (n,m)// p:员工个数 1-p// q:阴阳龙现身次数cin >> n >> m >> p >> q;for (int i = 1; i <= p; i++) {int x, y;cin >> x >> y;graph[x][y] = 1;worker[i] = { x,y };}while (q--) {int u, v, t;cin >> u >> v >> t;// 阴阳龙坐标:(u,v) 强度:twork(u, v, t);cout << get_result();}
}

满分代码:
 

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;const int dx[8] = {1, 1, 0, -1, -1, -1, 0, 1};
const int dy[8] = {0, 1, 1, 1, 0, -1, -1, -1};int main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n, m, p, q;cin >> n >> m >> p >> q;vector<array<int, 2>> pos(p);unordered_map<int, set<array<int, 2>>> row, col, ld, rd;auto insert = [&](int id){int x = pos[id][0], y = pos[id][1];row[x].insert({y, id});col[y].insert({x, id});ld[x + y].insert({y, id});rd[x - y].insert({y, id});};auto remove = [&](int id){int x = pos[id][0], y = pos[id][1];row[x].erase({y, id});col[y].erase({x, id});ld[x + y].erase({y, id});rd[x - y].erase({y, id});};for(int i = 0; i < p; ++ i){cin >> pos[i][0] >> pos[i][1];insert(i);}for(int i = 0; i < q; ++ i){int u, v, t;cin >> u >> v >> t;vector<array<int, 3>> candidate;auto search = [&](const set<array<int, 2>>& people, int d, int dirr, int dirl){auto pos = people.lower_bound(array<int, 2>{d, p});if (pos != people.end()){candidate.push_back({(*pos)[0] - d, (*pos)[1], dirr});}if (pos != people.begin()){pos = prev(pos);if ((*pos)[0] == d && pos != people.begin())pos = prev(pos);if ((*pos)[0] != d){candidate.push_back({d - (*pos)[0], (*pos)[1], dirl});}}};search(row[u], v, 2, 6);search(col[v], u, 0, 4);search(ld[u + v], v, 3, 7);search(rd[u - v], v, 1, 5);if (candidate.empty())continue;sort(candidate.begin(), candidate.end(), [&](const array<int, 3>& a, const array<int, 3>& b){return a[0] < b[0];});int mindis = min({u - 1, n - u, v - 1, m - v});if (candidate[0][0] > mindis)continue;mindis = candidate[0][0];for(int i = 0; i < candidate.size(); ++ i){if (candidate[i][0] != mindis)break;int dis = candidate[i][0];int id = candidate[i][1];remove(id);int dir = (candidate[i][2] + t) % 8;pos[id][0] = u + dis * dx[dir];pos[id][1] = v + dis * dy[dir];insert(id);}}LL ans = 0;for(int i = 0; i < p; ++ i){ans ^= (1ll * (i + 1) * pos[i][0] + pos[i][1]);}cout << ans << '\n';return 0;
}

http://www.dtcms.com/wzjs/435026.html

相关文章:

  • vue做响应式网站网站是怎么优化推广的
  • 企业网站留言板爱站seo
  • 深圳市南山区住房和建设局网站网页搜索
  • 龙湖什么网站做宣传无限制搜索引擎排名
  • 长沙专门做网站建设的公司重庆网站seo建设哪家好
  • 怎么在华为防火墙做网站映射软文自助发稿平台oem
  • 电商网站排行市场营销策略包括哪些策略
  • 南宁企业网站制作免费查权重工具
  • 网页小游戏入口公众号关键词排名优化
  • 做动态网站用什么语言长春seo优化企业网络跃升
  • 湄潭建设局官方网站网站关键词推广工具
  • 建设交友网站新闻发稿渠道
  • wordpress主题英文改中文宁波seo免费优化软件
  • phpstorm网站开发seo文章
  • 江西南昌疫情防控最新政策广东seo推广费用
  • 网站竞争对手的选定一般参考什么标准的seo外包 杭州
  • 东莞沙田网站建设b站视频推广网站
  • 电商网站建设论文参考文献seo网络推广是什么意思
  • 深圳网站设计+建设首选谷歌浏览器 安卓下载2023版
  • 毕节市生态文明建设网站百度搜索软件
  • 政府网站建设战略百度入口
  • wordpress启用插件出错河南整站百度快照优化
  • 北京b2c网站制作沈阳seo排名外包
  • 重心型网站网站seo优化效果
  • 网站开发单位杭州网站seo推广软件
  • 苏州响应式网站建设竞价推广是做什么的
  • 杭州建设信用平台信息流优化师简历怎么写
  • 江西今天最新疫情公布seo搜索引擎优化原理
  • 怎么判断一个网站是否使用帝国做的推广普通话心得体会
  • 上海市住房与城乡建设委员会网站重庆百度整站优化