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

c2c网站免费建设东莞建设质监网站

c2c网站免费建设,东莞建设质监网站,固原建设厅官方网站,网站建设相对应的税收分类是Codeforces Round 853 (Div. 2) C. Serval and Toxels Arrays 思路#xff1a; 求任意两个组合的元素个数。 注意到#xff0c;其实每个元素都是独立的。他在任意组合的出现情况组成的贡献是可以分开讨论的。我们讨论元素x。假设x在m1个数组中出现了cnt次#xff08;一个…Codeforces Round 853 (Div. 2) C. Serval and Toxels Arrays 思路 求任意两个组合的元素个数。 注意到其实每个元素都是独立的。他在任意组合的出现情况组成的贡献是可以分开讨论的。我们讨论元素x。假设x在m1个数组中出现了cnt次一个数组最多只有一个x。那么对于任意两个数组可能出现的情况有 同时有x这样的组合是C2cnt)贡献1只有一个有x这样的组合是cnt*(m1-cnt)贡献1都没有x不用讨论贡献0我们把每个数都分别这样讨论就是答案。 #include bits/stdc.h using namespace std; #define ll long long typedef unsigned long long ull; typedef pairlong long, long long pll; typedef pairint, int pii;//double 型memset最大127最小128 //std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); const int INF 0x3f3f3f3f; //int型的INF const ll llINF 0x3f3f3f3f3f3f3f3f;//ll型的llINF const int N 4e5 10;int a[N]; int cnt[N]; int main() {std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int t;cin t;while (t--){int n, m;cin n m;for (int i 0; i n m; i)cnt[i] 0;for (int i 1; i n; i){cin a[i];cnt[a[i]] m 1; //如果一个数没被修改他会一直出现共m1次}int p, v;for (int i 1; i m; i){cin p v;cnt[a[p]] - m - i 1; //被修改的数后面都不会再出现了除非再给一次cnt[v] m - i 1; //新的数后面都会出现直到被修改没a[p] v;}ll ans 0;for (int i 1; i n m; i)ans (ll)cnt[i] * (cnt[i] - 1) / 2 (ll)cnt[i] * (m 1 - cnt[i]);cout ans endl;}return 0; } D. Serval and Shift-Shift-Shift 思路 看数据1e3说明我们可以进行复杂度为ON^2)的操作首先只要a至少存在一个1我可以用1产生任何值按位一位一位操作可以把他们变成想要的1或者0除了0因为要求位移至少为1所以不能消去自己当我们a的最高位1右区间需要1或者0时我们可以把最高位移动到那里修改他这个操作遍历右区间我们每次操作因为最高位1左边都是0所以不会对操作位左边产生影响。而操作位右边有影响没事我会一位一位向右过去修改。修改左区间同理找最小位1不断左移修改左区间不能还是从高位修改到低位我们这次是利用不影响右区间左区间等下会修改。两者相反。最后注意到ab要么同时为0要么同时不为0a为0无法变成非0a不为0无法变成0 #include bits/stdc.h using namespace std; #define ll long long typedef unsigned long long ull; typedef pairlong long, long long pll; typedef pairint, int pii;//double 型memset最大127最小128 //std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); const int INF 0x3f3f3f3f; //int型的INF const ll llINF 0x3f3f3f3f3f3f3f3f;//ll型的llINF const int N 2e3 10;bool a[N], b[N], c[N]; int ans[N];void mysolve() {int n;string a1, b1;cin n a1 b1;if (a1 b1){cout 0 endl;return;}int cnta 0, cntb 0; //记录啊a与b1的个数int cnt 0; //操作数for (int i 0; i n; i){a[i] a1[i] - 0, b[i] b1[i] - 0;if (a[i])cnta;if (b[i])cntb;}//同时非0if (cnta cntb){int ha n, hb n; //记录a与b的最高位1for (int i 0; i n; i)if (a[i]){ha i;break;}for (int i 0; i n; i)if (b[i]){hb i;break;}//修改b最高位1及往右的区间for (int i hb; i n; i){if (a[i] ! b[i]){int tmp i - ha; //表示位移ans[cnt] ha - i;//先记录后面ha可能更新memcpy(c, a, sizeof(a)); //不能直接a数组间去异或途中会修改a的for (int j i; j n; j){if (j - tmp n)break; //越界后面都是异或0了a[j] ^ c[j - tmp];if (a[j])ha min(ha, j); //hb大于ha时可能更新ha}}}if (ha hb) //如果ha小于注意越高位越小不是大于那么需要把hb前面的1去掉{int la 0; //a的最低位1for (int i n - 1; i 0; --i)if (a[i]){la i;break;}for (int i hb - 1; i 0; --i) //往左更新{if (a[i]) //是1就删{int tmp i - la;ans[cnt] la - i;memcpy(c, a, sizeof(a));for (int j i; j 0; --j){if (j - tmp 0)break;a[j] ^ c[j - tmp];}}}}cout cnt endl;for (int i 1; i cnt; i)cout ans[i] ;cout endl;}else cout -1 endl; }int main() {std::ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int t;cin t;while (t--){mysolve();}return 0; }
http://www.hkea.cn/news/14536234/

相关文章:

  • 住建部证书查询大厅seo研究所
  • 做以个一元购的网站多少钱手机图片网站 模版
  • 注册了域名怎样做网站游戏网站开发毕业设计
  • 域名抢注网站建设定制衣服
  • 网站的内容包括什么冬奥会网页设计代码
  • 钓鱼网站制作的报告wordpress主题软件
  • 湖北专业网站建设质量保障聊城网站托管
  • 西安网站开发公司电话linux系统运行wordpress
  • 做游戏动画外包网站网页设计与制作教程课后答案黑马程序员
  • 做网站傻瓜软件上海买二手房做哪个网站好
  • 天津网站建设哪家设计好linux网站备份
  • 网站开发框架 知乎中铁建设企业门户
  • 毕业设计代做网站都有哪些超市管理系统
  • 福州什么推广网站好室内设计资源网
  • 国网公司网站深圳做网站服务公司
  • 网站建设制作公司 首推万维科技农民工找活平台
  • wp网站做404wordpress 繁简
  • 网站开发什么语言比较好直播网站怎么做的
  • 找做网站的上什么app网站利用百度离线地图
  • 外贸公司应该怎样做外贸网站网站建设 中企动力成都
  • 网站开发算法面试贵州遵义企业公司网站建设
  • 学校网站建设制度免费企业网站建设哪种
  • 佛山技术支持 骏域网站建设ui设计较好的网站
  • 建设网站需要资料服装公司网站网页设计
  • 江苏网站推广公司正确的建议是
  • 手机网站解析域名秦皇岛网站建设价格
  • 南通网站建设排名公司哪家好网站建设合同要交印花税吗
  • wordpress网站设计作业网页设计的主题
  • 万维网注册域名后怎么导入网站传奇网站模板psd
  • 做网站不给源码程序移动端h5是什么意思